我是靠谱客的博主 激动宝贝,最近开发中收集的这篇文章主要介绍SetupDiGetDeviceRegistryProperty-使用SetupDi系列函数进行设备信息的管理(三),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

WINSETUPAPI BOOL WINAPI
  SetupDiGetDeviceRegistryProperty(
    IN HDEVINFO  DeviceInfoSet,
    IN PSP_DEVINFO_DATA  DeviceInfoData,
    IN DWORD  Property,
    OUT PDWORD  PropertyRegDataType,  OPTIONAL
    OUT PBYTE  PropertyBuffer,
    IN DWORD  PropertyBufferSize,
    OUT PDWORD  RequiredSize  OPTIONAL
    );

SetupDiGetDeviceRegistryProperty:获得单个装置的详细资料

参数说明:

DeviceInfoSet

设备信息句柄

DeviceInfoData

SP_DEVINFO_DATA结构体,包含DeviceInfoSet 中的设备信息

Property

    取以下的值:

SPDRP_ADDRESS

查询设备的地址

SPDRP_BUSNUMBER

查询设备的bus号

SPDRP_BUSTYPEGUID

查询设备的GUID号

SPDRP_CAPABILITIES

The function retrieves a bitwise OR of the following CM_DEVCAP_Xxx flags in a DWORD. The device capabilities that are represented by these flags correspond to the device capabilities that are represented by the members of the DEVICE_CAPABILITIES structure. The CM_DEVCAP_Xxx constants are defined in cfgmgr32.h.

CM_DEVCAP_Xxx flagCorresponding DEVICE_CAPABILITIES structure member
CM_DEVCAP_LOCKSUPPORTEDLockSupported
CM_DEVCAP_EJECTSUPPORTEDEjectSupported
CM_DEVCAP_REMOVABLERemovable
CM_DEVCAP_DOCKDEVICEDockDevice
CM_DEVCAP_UNIQUEIDUniqueID
CM_DEVCAP_SILENTINSTALLSilentInstall
CM_DEVCAP_RAWDEVICEOKRawDeviceOK
CM_DEVCAP_SURPRISEREMOVALOKSurpriseRemovalOK
CM_DEVCAP_HARDWAREDISABLEDHardwareDisabled
CM_DEVCAP_NONDYNAMICNonDynamic

 

 

SPDRP_CHARACTERISTICS
The function retrieves a bitwise OR of a device's characteristics flags in a DWORD. For a description of these flags, which are defined in wdm.h and ntddk.h, see the IoCreateDevice function's DeviceCharacteristics parameter.
SPDRP_CLASS
The function retrieves a REG_SZ string that contains the device setup class of a device.
SPDRP_CLASSGUID
The function retrieves a REG_SZ string that contains the GUID that represents the device setup class of a device.
SPDRP_COMPATIBLEIDS
The function retrieves a REG_MULTI_SZ string containing the list of compatible IDs for a device. For information about compatible IDs, see Device Identification Strings.
SPDRP_CONFIGFLAGS
The function retrieves a bitwise OR of a device's configuration flags in a DWORD value. The configuration flags are represented by the CONFIGFLAG_ Xxx bitmasks that are defined in regstr.h.
SPDRP_DEVICE_POWER_DATA
(Windows XP and later) The function retrieves a CM_POWER_DATA structure containing the device's power management information.
SPDRP_DEVICEDESC
The function retrieves a REG_SZ string containing the description of a device.
SPDRP_DEVTYPE
The function retrieves a DWORD value representing the device's type (see Specifying Device Types).
SPDRP_DRIVER
The function retrieves a string identifying the device's software key (sometimes called the driver key). See Driver Information in the Registry.
SPDRP_ENUMERATOR_NAME
The function retrieves a REG_SZ string containing the name of the device's enumerator.
SPDRP_EXCLUSIVE
The function retrieves a DWORD value that indicates whether a user can obtain exclusive use of the device. The returned value is one if exclusive use is allowed, or zero otherwise. For more information, see IoCreateDevice.
SPDRP_FRIENDLYNAME
The function retrieves a REG_SZ string that contains the friendly name of a device.
SPDRP_HARDWAREID
The function retrieves a REG_MULTI_SZ string containing the list of hardware IDs for a device. For information about hardware IDs, see Device Identification Strings.
SPDRP_INSTALL_STATE
(Windows XP and later) The function retrieves a DWORD value that indicates the installation state of a device. The installation state is represented by one of the CM_INSTALL_STATE_ Xxx values that are defined in Cfgmgr32.h. The CM_INSTALL_STATE_ Xxx values correspond to the DEVICE_INSTALL_STATE enumeration values.

 

SPDRP_LEGACYBUSTYPE
The function retrieves the device's legacy bus type as an INTERFACE_TYPE value (defined in wdm.h and ntddk.h).
SPDRP_LOCATION_INFORMATION
The function retrieves a REG_SZ string that contains the hardware location of a device.
SPDRP_LOCATION_PATHS
(Windows Server 2003 and later) The function retrieves a REG_MULTI_SZ string that represents the location of the device in the device tree.

 

SPDRP_LOWERFILTERS
The function retrieves a REG_MULTI_SZ string that contains the names of a device's lower-filter drivers.
SPDRP_MFG
The function retrieves a REG_SZ string that contains the name of the device manufacturer.
SPDRP_PHYSICAL_DEVICE_OBJECT_NAME
The function retrieves a REG_SZ string that contains the name that is associated with the device's PDO. For more information, see IoCreateDevice.
SPDRP_REMOVAL_POLICY
(Windows XP and later) The function retrieves the device's current removal policy as a DWORD containing one of the CM_REMOVAL_POLICY_ Xxx values defined in cfgmgr32.h.
SPDRP_REMOVAL_POLICY_HW_DEFAULT
(Windows XP and later) The function retrieves the device's hardware-specified default removal policy as a DWORD containing one of the CM_REMOVAL_POLICY_ Xxx values defined in cfgmgr32.h.
SPDRP_REMOVAL_POLICY_OVERRIDE
(Windows XP and later) The function retrieves the device's override removal policy (if it exists) from the registry, as a DWORD containing one of the CM_REMOVAL_POLICY_ Xxx values defined in cfgmgr32.h.
SPDRP_SECURITY
The function retrieves a SECURITY_DESCRIPTOR structure for a device.
SPDRP_SECURITY_SDS
The function retrieves a REG_SZ string that contains the device's security descriptor. The format of security descriptor strings is described in Microsoft Windows SDK documentation.
SPDRP_SERVICE
The function retrieves a REG_SZ string containing the service name for a device.
SPDRP_UI_NUMBER
The function retrieves a DWORD value set to the value of the UINumber member of the device's DEVICE_CAPABILITIES structure.
SPDRP_UI_NUMBER_DESC_FORMAT
The function retrieves a format string (REG_SZ) used to display the UINumber value.
SPDRP_UPPERFILTERS
The function retrieves a REG_MULTI_SZ string that contains the names of a device's upper filter drivers.
PropertyRegDataType
A pointer to a variable that receives the data type of the property that is being retrieved. This is one of the standard registry data types. This parameter is optional and can be NULL.
PropertyBuffer
A pointer to a buffer that receives the property that is being retrieved. If this parameter is set to NULL, and PropertyBufferSize is also set to zero, the function returns the required size for the buffer in RequiredSize.
PropertyBufferSize
The size, in bytes, of the PropertyBuffer buffer.
RequiredSize
A pointer to a variable of type DWORD that receives the required size, in bytes, of the PropertyBuffer buffer that is required to hold the data for the requested property. This parameter is optional and can be NULL.

 

Return Value

SetupDiGetDeviceRegistryProperty returns TRUE if the call was successful. Otherwise, it returns FALSE and the logged error can be retrieved with a call to GetLastError. SetupDiGetDeviceRegistryProperty returns the ERROR_INVALID_DATA error code if the requested property does not exist for a device or if the property data is not valid.

最后

以上就是激动宝贝为你收集整理的SetupDiGetDeviceRegistryProperty-使用SetupDi系列函数进行设备信息的管理(三)的全部内容,希望文章能够帮你解决SetupDiGetDeviceRegistryProperty-使用SetupDi系列函数进行设备信息的管理(三)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部