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 |
---|---|
|
驅動程式正在初始化 FDO,而不是 PDO。 |
|
驅動程式無法配置空間來儲存裝置標識符字串。 |
方法也可能傳回其他 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) |