WdfDmaTransactionSetImmediateExecution 함수(wdfdmatransaction.h)

[KMDF에만 적용]

WdfDmaTransactionSetImmediateExecution 메서드는 지정된 DMA 트랜잭션을 표시하여 WdfDmaTransactionExecuteWdfDmaTransactionAllocateResources에 대한 호출이 즉시 트랜잭션을 시작하거나 실패하도록 합니다.

구문

void WdfDmaTransactionSetImmediateExecution(
  [in] WDFDMATRANSACTION DmaTransaction,
  [in] BOOLEAN           UseImmediateExecution
);

매개 변수

[in] DmaTransaction

즉시 실행을 표시할 DMA 트랜잭션 개체에 대한 핸들입니다.

[in] UseImmediateExecution

TRUE인 경우 트랜잭션이 즉시 실행되어야 하며(또는 리소스를 사용할 수 없는 경우 실패) FALSE인 경우 DMA 리소스를 사용할 수 있게 되면 트랜잭션이 실행 대기 중임을 나타내는 부울 값입니다.

반환 값

없음

설명

WdfDmaTransactionSetImmediateExecution을 호출하기 전에 드라이버는 트랜잭션을 초기화해야 합니다.

UseImmediateExecution이 TRUE로 설정된 WdfDmaTransactionSetImmediateExecution을 호출한 후 드라이버가 WdfDmaTransactionExecute 또는 WdfDmaTransactionAllocateResources를 호출하고 요청에 필요한 리소스를 사용할 수 없는 경우 해당 메서드는 STATUS_INSUFFICIENT_RESOURCES 반환합니다. 필요한 리소스를 사용할 수 있는 경우 프레임워크는 해당 리소스를 클레임하고 동기적으로 호출을 시작합니다.

드라이버가 트랜잭션을 즉시 실행하도록 표시한 후에는 드라이버가 WdfDmaTransactionRelease를 호출하거나 UseImmediateExecution이 FALSE로 설정된 WdfDmaTransactionSetImmediateExecution을 호출하여 플래그를 지울 때까지 트랜잭션이 다음과 같이 표시됩니다.

WdfDmaTransactionSetImmediateExecution 에는 DMA 버전 3이 필요합니다. DMA 버전 3을 선택하려면 WDF_DMA_ENABLER_CONFIG WdmDmaVersionOverride 멤버를 3으로 설정합니다.

드라이버가 Windows 8 이전의 운영 체제에서 이 메서드를 호출하는 경우 프레임워크의 검증 도구는 오류를 보고합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
대상 플랫폼 유니버설
최소 KMDF 버전 1.11
머리글 wdfdmatransaction.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(프레임워크 라이브러리 버전 관리 참조)
IRQL <=DISPATCH_LEVEL
DDI 규정 준수 규칙 DriverCreate(kmdf)

추가 정보

WdfDmaTransactionAllocateResources

WdfDmaTransactionExecute

WdfDmaTransactionRelease