WdfPdoInitAssignDeviceID 函式 (wdfpdo.h)

[僅適用於 KMDF]

WdfPdoInitAssignDeviceID 方法會更新子裝置的裝置標識碼。

語法

NTSTATUS WdfPdoInitAssignDeviceID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING DeviceID
);

參數

[in] DeviceInit

WDFDEVICE_INIT 結構的指標。

[in] DeviceID

包含裝置標識符字串 之UNICODE_STRING 結構的指標。 驅動程式可以從分頁集區配置字串的緩衝區。

傳回值

如果作業成功,方法會傳回STATUS_SUCCESS。 其他傳回值包括:

傳回碼 Description
STATUS_INVALID_DEVICE_REQUEST
驅動程式正在初始化 FDO,而不是 PDO。
STATUS_INSUFFICIENT_RESOURCES
驅動程式無法配置空間來儲存裝置標識符字串。
 

方法也可能傳回其他 NTSTATUS值

備註

裝置標識碼通常是裝置報告之硬體標識碼清單中的第一個專案。 如需裝置識別碼和硬體標識碼的詳細資訊,請參閱 裝置標識碼安裝程式如何選取驅動程式

驅動程式必須先呼叫 WdfPdoInitAssignDeviceID ,才能呼叫 WdfDeviceCreate。 如需呼叫 WdfDeviceCreate 的詳細資訊,請參閱 建立架構裝置物件

範例

下列程式代碼範例會報告 KbFiltr 範例驅動程式使用的裝置識別碼。

#define  KBFILTR_DEVICE_ID L"{A65C87F9-BE02-4ed9-92EC-012D416169FA}\\KeyboardFilter\0"
DECLARE_CONST_UNICODE_STRING(deviceId,KBFILTR_DEVICE_ID);

status = WdfPdoInitAssignDeviceID(
                                  pDeviceInit,
                                  &deviceId
                                  );

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.0
標頭 wdfpdo.h (包含 Wdf.h)
程式庫 Wdf01000.sys (請參閱 Framework Library Versioning.)
IRQL PASSIVE_LEVEL
DDI 合規性規則 ChildDeviceInitAPI (kmdf) DriverCreate (kmdf) InitFreeDeviceCallback (kmdf) InitFreeDeviceCreate (kmdf) InitFreeNull (kmdf) KmdfIrql (kmdf) KmdfIrql2 (kmdf) 、KmdfIrqlExplicit (kmdf ) 、 PdoDeviceInitAPI (kmdf) PdoInitFreeDeviceCallback (kmdf) PdoInitFreeDeviceCreate (kmdf)

另請參閱

WdfPdoInitAddCompatibleID

WdfPdoInitAddHardwareID

WdfPdoInitAssignInstanceID