IWDFDevice::RetrieveDeviceInstanceId 方法 (wudfddi.h)

[警告: UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,且較新版本的 #DDC35C8D8B51A4E8DB63D2223AC7E3240 上,UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用 UMDF 使用者入門。]

RetrieveDeviceInstanceId 方法會擷取裝置實例的標識碼。

語法

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

參數

[out, optional] Buffer

如果提供的緩衝區為非 NULLRetrieveDeviceInstanceId 成功,則為緩衝區的指標,接收代表裝置實例標識碼的 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