📄 deviceinterface.h
字号:
#pragma once
extern const GUID GUID_DEVICE_CLASS[];
class CDeviceInterfaceClass
{
public:
SP_DEVINFO_DATA DeviceInfoData; // 设备信息包括实例句柄 和设备类的GUID
HDEVINFO hDevInfo; // 设备句柄
DWORD DevID; // 在此次全局的枚举中设备ID
char lpszDevName[1024]; // 设备名称
char lpszDevClass[1024]; // 设备类型
CDeviceInterfaceClass();
~CDeviceInterfaceClass();
};
class CDeviceInterface
{
public:
CDeviceInterface( GUID pClassGuid, DWORD Index, BOOL IsDisab = TRUE );
~CDeviceInterface(void);
BOOL Initial(void);
CHAR * DevicePath(void); // 取设备的路径
GUID * GetGuid(void) { return &m_Guid; }; // 获取该设备的 GUID
int GetStatus(void); // 查询状态
static BOOL IsDisabled( DWORD, HDEVINFO ); // 该设备是否已被禁用
BOOL IsDisabled(void); // 该设备是否已被禁用
static BOOL IsDisableable( DWORD, HDEVINFO ); // 该设备是否可以被禁用
BOOL IsDisableable(void); // 该设备是否可以被禁用
static BOOL EnableDevice( DWORD, HDEVINFO ); // 启用这个设备
BOOL EnableDevice(void); // 启用这个设备
static BOOL DisableDevice( DWORD, HDEVINFO ); // 禁用这个设备
BOOL DisableDevice(void); // 禁用这个设备
private:
static BOOL StateChange( DWORD, HDEVINFO, BOOL ); // 改变这个设备的状态
HANDLE OpenInterface( PCHAR FilePath ); // 打开该设备接口
BOOL GetRegistryProperty( HDEVINFO, SP_DEVINFO_DATA &, ULONG, PCHAR ); // 获取设备注册表信息
BOOL ConstructDeviceName( HDEVINFO, SP_DEVINFO_DATA &, PCHAR ); // 构造设备名称
public:
CDeviceInterfaceClass m_device_info; // 设备
BOOL m_IsDisab; // 是否禁用 TRUE:启用,FALSE:禁用
private:
GUID m_Guid;
SP_DEVICE_INTERFACE_DATA m_Data;
PSP_INTERFACE_DEVICE_DETAIL_DATA m_Detail;
private:
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -