IWDFIoTarget2::FormatRequestForFlush 메서드(wudfddi.h)
[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에는 새로운 기능이 추가되지 않으며 최신 버전의 Windows 10에서는 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF시작 .]을 참조하세요.
FormatRequestForFlush 메서드는 플러시 작업에 대한 I/O 요청을 작성하지만 I/O 대상에 요청을 보내지 않습니다.
통사론
HRESULT FormatRequestForFlush(
[in] IWDFIoRequest *pRequest,
[in, optional] IWDFFile *pFile
);
매개 변수
[in] pRequest
I/O 요청을 나타내는 요청 개체의 IWDFIoRequest 인터페이스에 대한 포인터입니다.
[in, optional] pFile
I/O 요청과 연결된 파일 개체의 IWDFFile 인터페이스에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL 수 있지만 기본 I/O 대상에는 필요합니다.
반환 값
FormatRequestForFlush 작업이 성공하면 S_OK 반환합니다. 그렇지 않으면 메서드가 다음 값 중 하나를 반환할 수 있습니다.
반환 코드 | 묘사 |
---|---|
|
프레임워크에서 메모리를 할당할 수 없습니다. |
이 메서드는 Winerror.h에 포함된 다른 값 중 하나를 반환할 수 있습니다.
발언
일부 드라이버는 하위 드라이버 또는 디바이스에 있는 캐시된 버퍼를 플러시해야 합니다. 예를 들어 직렬 디바이스 또는 스토리지 디바이스의 드라이버 스택에 있는 드라이버는 이 작업을 지원할 수 있습니다.
FormatRequestForFlush 메서드와 IWDFIoRequest::Send 메서드를 사용하여 동기 또는 비동기적으로 플러시 요청을 보냅니다.
예제
다음 코드 예제는 IQueueCallbackDefaultIoHandler::OnDefaultIoHandler 콜백 함수의 일부입니다. 콜백 함수가 플러시 요청을 받으면 디바이스의 기본 I/O 대상으로 요청을 보냅니다.
void
CMyQueue::OnDefaultIoHandler(
IWDFIoQueue* pQueue,
IWDFIoRequest* pRequest
)
{
HRESULT hr;
IWDFDevice *pDevice;
IWDFIoTarget *pTarget;
IWDFFile *pFile;
//
// Obtain the device, default I/O target, and file object.
//
pQueue->GetDevice(&pDevice);
pDevice->GetDefaultIoTarget(&pTarget);
pRequest->GetFileObject(&pFile);
if (WdfRequestFlushBuffers==pRequest->GetType())
{
//
// Declare an IWDFIoTarget2 interface pointer and obtain the
// IWDFIoTarget2 interface from the IWDFIoTarget interface.
//
CComQIPtr<IWDFIoTarget2> target2(pTarget);
//
// Format a flush request and send it to the I/O target.
//
hr = target2->FormatRequestForFlush(pRequest,
pFile);
if (SUCCEEDED(hr))
{
hr = pRequest->Send(pTarget,
WDF_REQUEST_SEND_OPTION_SYNCHRONOUS,
0);
}
}
...
//
// Release objects.
//
SAFE_RELEASE(pDevice);
SAFE_RELEASE(pTarget);
SAFE_RELEASE(pFile);
}
요구 사항
요구 | 값 |
---|---|
지원 종료 | UMDF 2.0 이상에서는 사용할 수 없습니다. |
대상 플랫폼 | 바탕 화면 |
최소 UMDF 버전 | 1.9 |
헤더 | wudfddi.h(Wudfddi.h 포함) |
DLL | WUDFx.dll |