다음을 통해 공유


WdfDriverOpenParametersRegistryKey 함수(wdfdriver.h)

[KMDF 및 UMDF에 적용]

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

구문론

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

매개 변수

[in] Driver

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

[in] DesiredAccess

매개 변수 레지스트리 키에 대한 액세스 마스크를 지정하는 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 드라이버가 드라이버잘못된 핸들을 지정하면 시스템 버그 검사가 수행됩니다.

비고

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

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

비고

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

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

예시

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

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