IPortableDeviceManager::GetDeviceProperty 方法 (portabledeviceapi.h)
检索计算机上设备存储的属性值。 (这些属性不是由 Windows Portable Devices 定义的标准属性。)
语法
HRESULT GetDeviceProperty(
[in] LPCWSTR pszPnPDeviceID,
[in] LPCWSTR pszDevicePropertyName,
[in, out] BYTE *pData,
[in, out] DWORD *pcbData,
[in, out] DWORD *pdwType
);
参数
[in] pszPnPDeviceID
指向以 null 结尾的字符串的指针,该字符串包含设备的即插即用 ID。 可以通过调用 GetDevices 检索连接到计算机的所有设备的即插即用名称的列表。
[in] pszDevicePropertyName
指向以 null 结尾的字符串的指针,该字符串包含要请求的属性的名称。 这些是由设备制造商定义的自定义属性名称。
[in, out] pData
调用方分配的缓冲区,用于保存检索到的数据。 若要获取所需的大小,请调用此方法,并将此参数设置为 NULL , 并将该参数 设置为零,并将所需的大小在 data 中检索。 此调用还将返回可忽略的错误。 请参阅返回值。
[in, out] pcbData
pData 分配或返回的缓冲区的大小(以字节为单位)。
[in, out] pdwType
描述 pData 中返回的数据类型的常量。 此参数的值与用于描述 Platform SDK 函数 RegQueryValueEx 的 lpType 参数的类型相同。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
提供的缓冲区不够大,无法容纳请求的数据。 (当 pData 为 NULL 时,始终返回此结果。如果要调用 方法来检索所需的缓冲区大小,则可以忽略此结果。请参阅 pData 参数的说明。) |
|
至少一个必需的参数是 NULL 指针。 |
注解
这些属性值存储在设备安装上,或在操作期间由设备存储,以便它们可以跨连接会话持久保存。 应用程序必须知道由设备本身指定的属性的确切名称;因此,此方法旨在供创建自己的应用程序的设备开发人员使用。
若要从设备对象获取 Windows 可移植设备属性,请调用 IPortableDeviceProperties::GetValues,并使用 WPD_DEVICE_OBJECT_ID指定设备对象。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | portabledeviceapi.h |
Library | PortableDeviceGUIDs.lib |