IWDFDevice::RetrieveDeviceInstanceId 方法 (wudfddi.h)

[警告: UMDF 2 是最新版本的 UMDF,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 未向 UMDF 1 添加新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅使用 UMDF 入门。]

RetrieveDeviceInstanceId 方法检索设备实例的标识符。

语法

HRESULT RetrieveDeviceInstanceId(
  [out, optional] PWSTR Buffer,
  [in, out]       DWORD *pdwSizeInChars
);

参数

[out, optional] Buffer

如果提供的缓冲区为非 NULL 且 RetrieveDeviceInstanceId 成功,则指向一个缓冲区的指针,该缓冲区接收一个以 NULL 结尾的字符串,该字符串表示设备实例的标识符。

[in, out] pdwSizeInChars

指向变量的指针,该变量接收 Buffer 指向的字符串中的字符数,包括 NULL 字符。

如果 BufferNULL,则驱动程序提供的值为零。 然后,框架返回标识符字符串所需的大小(以字符为单位)。

如果 Buffer 为非 NULL,则框架返回标识符字符串的大小(以字符为单位)。

返回值

对于以下情况,RetrieveDeviceInstanceId 返回S_OK:

  • Buffer 参数指向的缓冲区非 NULL 且足够大,足以保存标识符字符串(包括 NULL 字符),并且框架成功将字符串复制到提供的缓冲区中,并将 pdwSizeInChars 参数指向的变量设置为字符串中的字符数。
  • Buffer 处的缓冲区为 NULL,驱动程序将 pdwSizeInChars 处的变量预设为 0,框架将 pdwSizeInChars 处的变量设置为字符串所需的字符数。
RetrieveDeviceInstanceId 返回HRESULT_FROM_WIN32 (ERROR_INSUFFICIENT_BUFFER) ,指示提供的缓冲区为非 NULL ,并且没有足够的空间来保存标识符字符串。 框架将 pdwSizeInChars 处的 变量设置为字符串所需的字符数。

RetrieveDeviceInstanceId 也可能返回其他 HRESULT 值。

要求

要求
结束支持 在 UMDF 2.0 及更高版本中不可用。
目标平台 桌面
最低 UMDF 版本 1.5
标头 wudfddi.h (包括 Wudfddi.h)
DLL WUDFx.dll

另请参阅

IWDFDevice