#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 #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__