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

DEVICEMAP에서 열 하위 키의 이름을 지정하는 UNICODE_STRING 구조체에 대한 포인터입니다.

[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

새 레지스트리 키 개체에 대한 핸들을 수신하는 위치에 대한 포인터입니다. The

반환 값

WdfDeviceOpenDevicemapKey 는 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드는 다음 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
STATUS_INVALID_DEVICE_REQUEST

WdfDeviceOpenDevicemapKey 는 IRQL = PASSIVE_LEVEL 호출되지 않았습니다.

STATUS_INVALID_PARAMETER
잘못된 매개 변수가 지정되었습니다. UMDF의 경우 이 반환 값은 액세스 권한이 부족함을 나타낼 수 있습니다.
STATUS_INSUFFICIENT_RESOURCES
레지스트리 키 개체를 할당할 수 없습니다.
STATUS_OBJECT_NAME_NOT_FOUND
지정된 레지스트리 키가 없습니다.
 

WdfDeviceOpenDevicemapKey 메서드가 반환할 수 있는 다른 반환 값 목록은 프레임워크 개체 만들기 오류를 참조하세요.

메서드는 다른 NTSTATUS 값을 반환할 수 있습니다.

드라이버가 잘못된 개체 핸들을 제공하는 경우 버그 검사 발생합니다.

설명

레지스트리에는 직렬 및 병렬 포트와 같은 이전 기술에 대한 일부 드라이버가 사용하는 HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP 키가 포함되어 있습니다. 드라이버가 DEVICEMAP 키를 사용하는 기술을 지원하는 경우 드라이버는 WdfDeviceOpenDevicemapKey를 호출하여 키 아래의 하위 키 및 값에 액세스할 수 있습니다.

WdfDeviceOpenDevicemapKey 는 휘발성 키를 반환합니다. 즉, 해당 레지스트리 하이브가 언로드될 때 정보가 보존되지 않습니다.

드라이버가 WdfDeviceOpenDevicemapKey로 연 레지스트리 키 사용을 완료하면 드라이버는 WdfRegistryClose를 호출해야 합니다.

레지스트리, 하드웨어 및 소프트웨어 키 및 레지스트리 개체에 대한 자세한 내용은 Framework-Based 드라이버에서 레지스트리 사용을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.15
최소 UMDF 버전 2.15
머리글 wdfdevice.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF)
IRQL PASSIVE_LEVEL

추가 정보

WdfDeviceOpenRegistryKey

WdfFdoInitOpenRegistryKey