Share via


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_READKEY_WRITEKEY_READ |KEY_WRITE

UMDF 驅動程式通常會要求 KEY_READKEY_SET_VALUE

[in, optional] KeyAttributes

WDF_OBJECT_ATTRIBUTES 結構的指標,其中包含新登錄機碼對象的驅動程式提供屬性。 這個參數是選擇性的,而且可以WDF_NO_OBJECT_ATTRIBUTES。

[out] Key

接收新登錄機碼物件句柄之位置的指標。 The

傳回值

如果作業成功,WdfDeviceOpenDevicemapKey 會傳回STATUS_SUCCESS。 否則,方法可能會傳回下列其中一個值:

傳回碼 Description
STATUS_INVALID_DEVICE_REQUEST

WdfDeviceOpenDevicemapKey 未在 IRQL = PASSIVE_LEVEL呼叫。

STATUS_INVALID_PARAMETER
指定了無效的參數。 針對UMDF,此傳回值可能表示訪問許可權不足。
STATUS_INSUFFICIENT_RESOURCES
無法設定登錄機碼物件。
STATUS_OBJECT_NAME_NOT_FOUND
指定的登錄機碼不存在。
 

如需 WdfDeviceOpenDevicemapKey 方法可能傳回的其他傳回值清單,請參閱 Framework 物件建立錯誤

方法可能會傳回其他 NTSTATUS值

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

備註

登錄包含 一個HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP 機碼,可供某些舊版技術的驅動程式使用,例如序列和平行埠。 如果您的驅動程式支援使用 DEVICEMAP 金鑰的技術,驅動程式可以呼叫 WdfDeviceOpenDevice MapKey 來存取機碼底下的子機碼和值。

WdfDeviceOpenDevicemapKey 會傳回變動 性密鑰。 這表示卸除對應的登錄區時,不會保留資訊。

當驅動程式使用 以 WdfDeviceOpenDevicemapKey 開啟的登錄機碼完成時,驅動程式必須呼叫 WdfRegistryClose

如需登錄、硬體和軟體密鑰和登錄物件的詳細資訊,請參閱 在 Framework-Based 驅動程式中使用登錄

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.15
最低UMDF版本 2.15
標頭 wdfdevice.h (包含 Wdf.h)
程式庫 Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL

另請參閱

WdfDeviceOpenRegistryKey

WdfFdoInitOpenRegistryKey