IWDFIoQueue::P urge 메서드(wudfddi.h)

[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에 새 기능이 추가되지 않으며 최신 버전의 Windows 10 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF를 사용하여 시작 참조하세요.]

Purge 메서드는 프레임워크에 들어오는 새 I/O 요청을 거부하고 모든 미해결 요청을 취소하도록 지시합니다.

구문

void Purge(
  [in, optional] IQueueCallbackStateChange *pPurgeComplete
);

매개 변수

[in, optional] pPurgeComplete

프레임워크가 드라이버에 큐 상태를 제공하기 위해 를 호출하는 IQueueCallbackStateChange 인터페이스에 대한 포인터입니다. 프레임워크는 모든 요청이 취소된 후 메서드를 호출합니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

반환 값

없음

설명

프레임워크는 큐에서 처리되지 않은 요청을 취소합니다. 드라이버에 전달되고 취소 가능으로 표시된 요청의 경우 프레임워크는 IRequestCallbackCancel::OnCancel을 호출합니다.

드라이버는 지정된 시간에 다음 메서드 중 하나만 진행 중인지 확인해야 합니다.

예를 들어 드라이버가 이전에 Purge라고 하는 경우 pPurgeComplete 매개 변수가 가리키는 인터페이스의 메서드에서 중지 또는 드레이닝 중 하나를 호출하기 전에 알림을 기다려야 합니다. 이 규칙을 위반하면 호스트 프로세스가 종료됩니다.

예제

다음 코드 예제에서는 큐에 대한 요청을 중지하는 방법을 보여 줍니다.

VOID
CUmdfHidFile::OnCleanupFile(
    __in IWDFFile* /* WdfFile */
    )
/*++
    This method handles the cleanup operation for the file object.  
    Because the file is disabled, no new reports should be added to the ring buffer.
--*/
{
    this->Disable();

    //
    // Stop all current requests to read reports.
    //

    m_GetReportQueue->Purge(NULL);
}

요구 사항

요구 사항
지원 종료 UMDF 2.0 이상에서는 사용할 수 없습니다.
대상 플랫폼 데스크톱
최소 UMDF 버전 1.5
머리글 wudfddi.h(Wudfddi.h 포함)
DLL WUDFx.dll

추가 정보

IQueueCallbackStateChange

IRequestCallbackCancel::OnCancel

IWDFIoQueue

IWDFIoQueue::D rain

IWDFIoQueue::Stop