123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #ifndef __WDK_VIDPIDQUERY__
- #define __WDK_VIDPIDQUERY__
- /* ----------------------------------------------------------
- 文件名称:WDK_VidPidQuery.h
- 作者:秦建辉
- MSN:splashcn@msn.com
- QQ:36748897
- 开发环境:
- Visual Studio V2010
- WinDDK 7600.16385.1
- 版本历史:
- V1.0 2011年09月10日
- 结合设备安装类GUID和设备接口类GUID获取设备VIDPID
- 接口函数:
- WDK_WhoAllVidPid
- WDK_isExistVidPid
- ------------------------------------------------------------ */
- #pragma once
- #include <windows.h>
- #ifndef MACRO_HIDD_VIDPID
- #define MACRO_HIDD_VIDPID
- typedef struct _HIDD_VIDPID
- {
- USHORT VendorID;
- USHORT ProductID;
- } HIDD_VIDPID;
- #endif
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- /*
- 功能:获取系统所有设备的VIDPID
- 入口参数:
- [out] pVidPid:存储返回的VIDPID,会自动过滤掉重复的VIDPID
- [in] iCapacity:存储单元的容量,建议为32
- [in] SetupClassGuid:设备安装类GUID,默认为NULL
- [in] InterfaceClassGuid:设备接口类GUID,默认为NULL
- 返回值:
- 获取到的VID和PID数目
- 优点:
- 直接通过设备实例ID提取VIDPID,从而无需获取设备路径来读写IO。
- */
- INT WINAPI WDK_WhoAllVidPid( HIDD_VIDPID* pVidPid, INT iCapacity, const GUID* SetupClassGuid = NULL, const GUID* InterfaceClassGuid = NULL );
- /*
- 功能:判断指定的VIDPID是否存在于列表中
- 入口参数:
- [in] VendorID:要查找的VID
- [in] ProductID:要查找的PID
- [in] pVidPid:用来检索的VIDPID库
- [in] iSize:VIDPID库大小
- 返回值:
- TRUE:存在
- FALSE:不存在
- */
- BOOL WINAPI WDK_isExistVidPid( USHORT VendorID, USHORT ProductID, const HIDD_VIDPID* pVidPid, INT iSize );
- #ifdef __cplusplus
- }
- #endif
- #endif // __WDK_VIDPIDQUERY__
|