다음을 통해 공유


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 를 호출하지 마세요. WdfRegistryRemoveKey가 반환된 후에는 WDFKEY가 더 이상 유효하지 않습니다.

 
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)