WdfRequestGetCompletionParams 함수(wdfrequest.h)
[KMDF 및 UMDF에 적용]
WdfRequestGetCompletionParams 메서드는 지정된 프레임워크 요청 개체와 연결된 I/O 완성 매개 변수를 검색합니다.
구문
void WdfRequestGetCompletionParams(
[in] WDFREQUEST Request,
[in, out] PWDF_REQUEST_COMPLETION_PARAMS Params
);
매개 변수
[in] Request
프레임워크 요청 개체에 대한 핸들입니다.
[in, out] Params
호출자가 제공한 WDF_REQUEST_COMPLETION_PARAMS 구조체에 대한 포인터입니다.
반환 값
없음
설명
드라이버가 잘못된 개체 핸들을 제공하는 경우 버그 검사 발생합니다.
드라이버가 I/O 대상에 I/O 요청을 동기적으로 또는 비동기적으로 보내도록 WdfRequestSend 를 호출한 후 I/O 대상이 I/O 요청을 완료한 후 드라이버는 WdfRequestGetCompletionParams 를 호출하여 I/O 요청의 완료 매개 변수를 가져올 수 있습니다.
완료 매개 변수 구조는 드라이버가 WdfIoTargetFormatXxx 메서드 중 하나를 호출하여 요청의 형식을 지정한 경우에만 유효한 정보를 포함합니다. 예를 들어 WdfIoTargetFormatRequestForRead를 참조하세요.
드라이버가 I/O 요청을 I/O 대상으로 보내는 메서드 중 하나를 동기적으로만 호출하는 경우(예: WdfIoTargetSendReadSynchronously) 드라이버는 WdfRequestGetCompletionParams를 호출하면 안 됩니다.
WdfRequestGetCompletionParams 메서드는 I/O 요청의 완료 매개 변수를 지정된 WDF_REQUEST_COMPLETION_PARAMS 구조에 복사합니다.
드라이버가 I/O 요청을 비동기적으로 보내는 경우 일반적으로 CompletionRoutine 콜백 함수 내에서 이 메서드를 호출합니다.
WdfRequestGetCompletionParams에 대한 자세한 내용은 I/O 요청 완료를 참조하세요.
예제
다음 코드 예제에서는 WDF_REQUEST_COMPLETION_PARAMS 구조를 초기화한 다음 WdfRequestGetCompletionParams를 호출합니다.
WDF_REQUEST_COMPLETION_PARAMS completionParams;
WDF_REQUEST_COMPLETION_PARAMS_INIT(&completionParams);
WdfRequestGetCompletionParams(
request,
&completionParams
);
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
최소 KMDF 버전 | 1.0 |
최소 UMDF 버전 | 2.0 |
머리글 | wdfrequest.h(Wdf.h 포함) |
라이브러리 | Wdf01000.sys(KMDF); WUDFx02000.dll(UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI 규정 준수 규칙 | DriverCreate(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |