다음을 통해 공유


WdfRegistryRemoveKey 함수(wdfregistry.h)

[KMDF 및 UMDF에 적용]

WdfRegistryRemoveKey 메서드는 지정된 프레임워크 레지스트리 키 개체와 연결된 레지스트리 키를 제거한 다음 레지스트리 키 개체를 삭제합니다.

통사론

NTSTATUS WdfRegistryRemoveKey(
  [in] WDFKEY Key
);

매개 변수

[in] Key

열린 레지스트리 키를 나타내는 레지스트리 키 개체에 대한 핸들입니다.

반환 값

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

반환 코드 묘사
STATUS_INVALID_DEVICE_REQUEST

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

STATUS_ACCESS_DENIED
드라이버가 삭제 액세스 권한이 있는 레지스트리 키를 열지 않았습니다.
STATUS_NOT_IMPLEMENTED
설명 섹션을 참조하세요.
 

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

드라이버에서 잘못된 개체 핸들을 제공하면 버그 검사가 수행됩니다.

발언

메모

WdfRegistryRemoveKey호출하기 전에 지정된 키 아래의 모든 키와 값이 삭제되었는지 확인합니다. 먼저 리프 키로 시작하여 각 하위 키를 삭제하고 작동합니다.

참고  

KMDF 드라이버에서 WdfRegistryRemoveKey 호출한 다음 동일한 키에 WdfRegistryClose 않습니다. WDFKEY는 WdfRegistryRemoveKey 반환된 후에 더 이상 유효하지 않습니다.

 
UMDF 드라이버가 WdfRegistryRemoveKey호출하는 것은 합법적이지만 호출은 항상 STATUS_NOT_IMPLEMENTED반환합니다. WDFKEY 개체를 삭제하려면 UMDF 드라이버가 대신 WdfRegistryClose호출해야 합니다.

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

예제

다음 코드 예제에서는 레지스트리 키를 제거 하 고 레지스트리 키 개체를 삭제 합니다.

NTSTATUS  status;

status = WdfRegistryRemoveKey(Key);

요구 사항

요구
대상 플랫폼 보편적
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
헤더 wdfregistry.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF)
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)