WdfDeviceOpenDevicemapKey 函式 (wdfdevice.h)
[適用於 KMDF 和 UMDF]
WdfDeviceOpenDevicemapKey 方法會開啟 DEVICEMAP 機碼,並建立代表登錄機碼的架構登錄機碼物件。
語法
NTSTATUS WdfDeviceOpenDevicemapKey(
[in] WDFDEVICE Device,
[in] PCUNICODE_STRING KeyName,
[in] ACCESS_MASK DesiredAccess,
[in, optional] PWDF_OBJECT_ATTRIBUTES KeyAttributes,
[out] WDFKEY *Key
);
參數
[in] Device
架構裝置物件的句柄。
[in] KeyName
UNICODE_STRING 結構的指標,指定要在 DEVICEMAP 下開啟之子機碼的名稱。
[in] DesiredAccess
ACCESS_MASK型別值,指定驅動程式要求指定登錄機碼的訪問許可權。
KMDF 驅動程式通常會要求 KEY_READ、KEY_WRITE或 KEY_READ |KEY_WRITE。
UMDF 驅動程式通常會要求 KEY_READ 或 KEY_SET_VALUE。
[in, optional] KeyAttributes
WDF_OBJECT_ATTRIBUTES 結構的指標,其中包含新登錄機碼對象的驅動程式提供屬性。 這個參數是選擇性的,而且可以WDF_NO_OBJECT_ATTRIBUTES。
[out] Key
接收新登錄機碼物件句柄之位置的指標。 這
傳回值
如果作業成功,WdfDeviceOpenDevicemapKey 會傳回STATUS_SUCCESS。 否則,方法可能會傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
|
|
|
指定了無效的參數。 針對UMDF,這個傳回值可能表示訪問許可權不足。 |
|
無法設定登錄機碼物件。 |
|
指定的登錄機碼不存在。 |
如需 WdfDeviceOpenDevicemapKey 方法可能會傳回的其他傳回值清單,請參閱 Framework 物件建立錯誤。
方法可能會 傳回其他NTSTATUS 值。
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
言論
登錄包含一些較舊技術的驅動程式,例如序列和平行埠所使用的 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP 機碼。 如果您的驅動程式支援使用 DEVICEMAP 密鑰的技術,則驅動程式可以藉由呼叫 WdfDeviceOpenDevicemapKey來存取機碼下的子機碼和值。
WdfDeviceOpenDevicemapKey 會傳回揮發性 密鑰。 這表示當卸除對應的登錄區時,不會保留資訊。
當驅動程式使用以 WdfDeviceOpenDeviceOpenDevicemapKey開啟的登錄機碼完成時,驅動程式必須呼叫 WdfRegistryClose。
如需登錄、硬體和軟體密鑰和登錄物件的詳細資訊,請參閱在 Framework-Based Drivers 中使用登錄。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
最低 KMDF 版本 | 1.15 |
最低 UMDF 版本 | 2.15 |
標頭 | wdfdevice.h (包括 Wdf.h) |
連結庫 | Wdf01000.sys (KMDF):WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |