다음을 통해 공유


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)

추가 정보

CompletionRoutine

WDF_REQUEST_COMPLETION_PARAMS

WDF_REQUEST_COMPLETION_PARAMS_INIT