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) |