1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #ifndef __WDK_DEVICEQUERY__
- #define __WDK_DEVICEQUERY__
- /* ----------------------------------------------------------
- 文件名称:WDK_DeviceQuery.h
- 作者:秦建辉
- MSN:splashcn@msn.com
- 版本历史:
- V1.3 2010年05月22日
- 增加获取硬盘序列号(需要系统管理员权限)。
- V1.2 2010年05月20日
- 更新接口函数。
- 增加获取网卡原生MAC地址。
- V1.1 2010年04月27日
- 优化代码。
- V1.0 2010年04月15日
- 完成正式版本。获取设备的VID-PID。
- 功能描述:
- 基于WDK获取设备属性值。
- 接口函数:
- WDK_DeviceQuery_Property
- WDK_DeviceQuery_VIDPID
- ------------------------------------------------------------ */
- #pragma once
- #include <windows.h>
- #ifndef MACRO_T_DEVICE_PROPERTY
- #define MACRO_T_DEVICE_PROPERTY
- #define PROPERTY_MAX_LEN 128 // 属性字段最大长度
- typedef struct _T_DEVICE_PROPERTY
- {
- TCHAR szProperty[PROPERTY_MAX_LEN];
- } T_DEVICE_PROPERTY;
- #endif
- #define WDK_QUERY_TYPENUM 4 // WDK查询支持的类型数
- #ifndef MACRO_HIDD_VIDPID
- #define MACRO_HIDD_VIDPID
- typedef struct _HIDD_VIDPID
- {
- USHORT VendorID;
- USHORT ProductID;
- } HIDD_VIDPID;
- #endif
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- /*
- 功能:基于WDK获取设备属性值
- 参数说明:
- iQueryType:需要查询的设备属性
- 0:人机交互设备的VID-PID
- 1:网卡原生MAC地址(包含USB网卡)
- 2:网卡原生MAC地址(剔除USB网卡)
- 3:硬盘序列号(需要系统管理员权限)
- properties:存储设备属性值
- iSize:可存储的最大设备数
- 返回值:
- -1:获取设备信息表失败
- -2:不支持的查询类型
- >=0:实际获取的设备数
- */
- INT WDK_DeviceQuery_Property( INT iQueryType, T_DEVICE_PROPERTY *properties, INT iSize );
- /*
- 功能:获取指定设备接口类相关设备的VID和PID
- 参数说明:
- pGuid:指向设备接口类GUID
- pVIDPID:存储设备的VID和PID
- iSize:可存储的最大设备数
- 返回值:
- -1:获取设备信息表失败
- >=0:实际获取的设备数
- */
- INT WDK_DeviceQuery_VIDPID( const GUID* pGuid, HIDD_VIDPID* pVIDPID, INT iSize );
- #ifdef __cplusplus
- }
- #endif
- #endif // __WDK_DEVICEQUERY__
|