다음을 통해 공유


WdfDriverOpenParametersRegistryKey 함수(wdfdriver.h)

[KMDF 및 UMDF에 적용]

WdfDriverOpenParametersRegistryKey 메서드는 드라이버의 Parameters 레지스트리 키를 열고 키를 나타내는 프레임워크 레지스트리 키 개체에 대한 핸들을 검색합니다.

구문

NTSTATUS WdfDriverOpenParametersRegistryKey(
  [in]           WDFDRIVER              Driver,
  [in]           ACCESS_MASK            DesiredAccess,
  [in, optional] PWDF_OBJECT_ATTRIBUTES KeyAttributes,
  [out]          WDFKEY                 *Key
);

매개 변수

[in] Driver

드라이버가 WdfDriverCreate 또는 WdfGetDriver 에 대한 이전 호출에서 가져온 드라이버의 프레임워크 드라이버 개체 에 대한 핸들입니다.

[in] DesiredAccess

Parameters 레지스트리 키에 대한 액세스 마스크를 지정하는 ACCESS_MASK 형식의 값입니다.

KMDF 드라이버는 일반적으로 KEY_READ, KEY_WRITE 또는 KEY_READ 요청합니다. | KEY_WRITE.

UMDF 드라이버를 작성하는 경우 KEY_READ 사용하거나 | KEY_READ. KEY_SET_VALUE.

모범 사례로 드라이버에 필요한 액세스 유형만 요청합니다.

[in, optional] KeyAttributes

프레임워크 레지스트리 키 개체의 개체 특성을 지정하는 호출자가 할당한 WDF_OBJECT_ATTRIBUTES 구조체에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 WDF_NO_OBJECT_ATTRIBUTES 수 있습니다.

[out] Key

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

반환 값

WdfDriverOpenParametersRegistryKey 는 작업이 성공하면 STATUS_SUCCESS 반환합니다. 추가 반환 값은 다음과 같습니다.

반환 코드 설명
STATUS_ACCESS_DENIED
UMDF 드라이버는 DesiredAccess 매개 변수에서 다음 플래그 중 하나를 지정했습니다.
  • GENERIC_WRITE
  • KEY_CREATE_SUBKEY
  • WRITE_DAC

위의 값은 UMDF 드라이버에 유효하지 않으므로 GENERIC_ALL 및 STANDARD_RIGHTS_ALL 같은 범용 플래그로 인해 WdfDriverOpenParametersRegistryKey 가 이 반환 값으로 실패합니다.

 

반환 값에 대한 자세한 내용은 Framework 개체 만들기 오류를 참조하세요.

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

KMDF 드라이버가 드라이버에서 잘못된 핸들을 지정하는 경우 시스템 버그 검사 발생합니다.

설명

드라이버의 매개 변수 키는 레지스트리의 서비스 트리에 있습니다 . 드라이버의 Parameters 키가 없으면 WdfDriverOpenParametersRegistryKey 메서드가 만듭니다.

드라이버가 Parameters 레지스트리 키 사용을 마치면 드라이버는 WdfRegistryClose를 호출해야 합니다.

참고

UMDF는 하위 키 만들기를 지원하지 않습니다.

레지스트리에 대한 자세한 내용은 Framework-Based 드라이버에서 레지스트리 사용을 참조하세요.

예제

다음 코드 예제에서는 드라이버의 Parameters 레지스트리 키를 열고 키를 나타내는 프레임워크 레지스트리 키 개체에 대한 핸들을 가져옵니다.

WDFKEY hKey;

status = WdfDriverOpenParametersRegistryKey(
                                            Driver,
                                            STANDARD_RIGHTS_ALL,
                                            WDF_NO_OBJECT_ATTRIBUTES,
                                            &hKey
                                            );

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfdriver.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF)
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

추가 정보

ACCESS_MASK

WDF_OBJECT_ATTRIBUTES

WdfDriverCreate

WdfDriverGetRegistryPath

WdfGetDriver

WdfRegistryClose