WdfObjectDelete 함수(wdfobject.h)

[KMDF 및 UMDF에 적용]

WdfObjectDelete 메서드는 프레임워크 개체와 해당 자식 개체를 삭제합니다.

구문

void WdfObjectDelete(
  [in] WDFOBJECT Object
);

매개 변수

[in] Object

프레임워크 개체에 대한 핸들입니다.

반환 값

없음

설명

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

참고

PASSIVE_LEVEL 호출되는 콜백 함수는 타이머 개체를 삭제할 수 없습니다. 자세한 내용은 EVT_WDF_TIMER 콜백 함수를 참조하세요.

드라이버가 WdfObjectDelete를 호출하면 참조 수가 0이 되면 지정된 개체가 삭제됩니다.

프레임워크는 항상 이러한 개체의 삭제를 처리하므로 드라이버는 WdfObjectDelete 를 호출하여 다음 프레임워크 개체를 삭제할 수 없습니다.

  • 프레임워크 자식 목록 개체(WDFCHILDLIST)
  • 드라이버가 WdfControlDeviceInitAllocate 를 호출하고 제어 디바이스 개체를 만들지 않는 한, 드라이버가 때때로 삭제해야 하는 WDFDEVICE(프레임워크 디바이스 개체)
  • 프레임워크 드라이버 개체(WDFDRIVER)
  • 프레임워크 파일 개체(WDFFILEOBJECT)
  • 프레임워크 인터럽트 개체(WDFINTERRUPT)
  • 프레임워크 큐 개체(WDFQUEUE), 개체가 기본 I/O 큐 를 나타내는 경우 또는 드라이버가 WdfDeviceConfigureRequestDispatching을 호출하여 특정 형식의 모든 I/O 요청을 수신하도록 큐를 설정한 경우
  • 프레임워크 USB 파이프 개체(WDFUSBPIPE)
  • 프레임워크 USB 인터페이스 개체(WDFUSBINTERFACE)
  • 프레임워크 WMI 공급자 개체(WDFWMIPROVIDER)
  • 리소스 범위 목록 개체(WDFIORESLIST)
  • 리소스 목록 개체(WDFCMRESLIST)
  • 리소스 요구 사항 목록 개체(WDFIORESREQLIST)
프레임워크 개체의 전체 목록은 프레임워크 개체 요약을 참조하세요.

WdfObjectDelete 메서드는 프레임워크가 개체와 해당 자식 개체를 삭제하기 전에 반환할 수 있습니다. 프레임워크에서 자식 개체를 삭제하는 순서는 예측할 수 없습니다.

WdfObjectDelete 및 프레임워크 개체 계층 구조에 대한 정리 규칙에 대한 자세한 내용은 프레임워크 개체 수명 주기를 참조하세요.

WdfObjectDelete 메서드는 IRQL <= DISPATCH_LEVEL 호출해야 합니다. 드라이버가 제어 디바이스 개체를 삭제하는 경우 IRQL = PASSIVE_LEVEL WdfObjectDelete 를 호출해야 합니다. 마찬가지로 드라이버가 공통 버퍼를 삭제하는 경우 IRQL = PASSIVE_LEVEL WdfObjectDelete 를 호출해야 합니다.

예제

다음 코드 예제에서는 프레임워크 개체와 해당 자식 개체를 삭제합니다.

WdfObjectDelete(Object);

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfobject.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF)
IRQL 설명 섹션을 참조하십시오.
DDI 규정 준수 규칙 AddPdoToStaticChildList(kmdf), ControlDeviceDeleted(kmdf), CtlDeviceFinishInitDeviceAdd(kmdf), CtlDeviceFinishInitDrEntry(kmdf), DriverCreate(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), MemAfterReqCompletedIntIoctlA(kmdf), MemAfterReqCompletedIoctlA(kmdf), MemAfterReqCompletedReadA(kmdf), MemAfterReqCompletedWriteA(kmdf), ReqDelete(kmdf), ReqSendFail(kmdf)

추가 정보

WdfControlDeviceInitAllocate

WdfObject만들기