EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL 콜백 함수(wdfdmatransaction.h)

[KMDF에만 적용]

드라이버의 EvtDmaTransactionConfigureDmaChannel 이벤트 콜백 함수는 시스템 모드 DMA 사용자에 대한 DMA 어댑터를 구성합니다.

구문

EVT_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL EvtWdfDmaTransactionConfigureDmaChannel;

BOOLEAN EvtWdfDmaTransactionConfigureDmaChannel(
  [in]           WDFDMATRANSACTION DmaTransaction,
  [in]           WDFDEVICE Device,
  [in]           PVOID Context,
  [in, optional] PMDL Mdl,
  [in]           size_t Offset,
  [in]           size_t Length
)
{...}

매개 변수

[in] DmaTransaction

실행 중인 트랜잭션을 나타내는 DMA 트랜잭션 개체에 대한 핸들입니다.

[in] Device

드라이버가 WdfDmaTransactionCreate를 호출할 때 지정한 프레임워크 디바이스 개체에 대한 핸들입니다.

[in] Context

드라이버가 WdfDmaTransactionSetChannelConfigurationCallback에 대한 이전 호출에서 지정한 컨텍스트 포인터입니다.

[in, optional] Mdl

현재 전송과 연결된 버퍼를 설명하는 단일 MDL(메모리 설명자 목록) 또는 MDL 체인에 대한 포인터이거나, 마지막 전송이 완료되고 어댑터가 해제되는 경우 NULL입니다.

[in] Offset

현재 전송이 시작되는 Mdl 매개 변수에 지정된 버퍼에 대한 바이트 오프셋입니다.

[in] Length

현재 전송에서 전송되는 바이트 수입니다.

반환 값

EvtDmaTransactionConfigureDmaChannel 콜백 함수는 DMA 채널을 성공적으로 구성하면 TRUE를 반환합니다. 이 콜백 함수가 FALSE를 반환하는 경우 프레임워크는 트랜잭션을 중지하고 EvtProgramDma를 호출하지 않습니다.

설명

드라이버는 WdfDmaTransactionSetChannelConfigurationCallback을 호출하여 EvtDmaTransactionConfigureDmaChannel 이벤트 콜백 함수를 등록합니다.

프레임워크는 어댑터 채널을 할당한 후 전송을 매핑하고 EvtProgramDma를 호출하기 전에 트랜잭션의 각 시스템 프로필 DMA 전송에 대해 EvtDmaTransactionConfigureDmaChannel을 한 번 호출합니다.

드라이버는 EvtDmaTransactionConfigureDmaChannel 콜백을 사용하여 전송을 매핑하기 전에 DMA 어댑터에 대한 사용자 지정 프로그래밍을 설정할 수 있습니다.

채널을 구성하는 동안 드라이버에 오류가 발생하면 WdfDmaTransactionDmaCompletedFinal 을 호출하고 필요한 경우 요청을 완료하여 DMA 전송을 중지할 수 있습니다. 그런 다음 드라이버는 이 콜백 함수에서 FALSE를 반환해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
대상 플랫폼 유니버설
최소 KMDF 버전 1.11
머리글 wdfdmatransaction.h(Wdf.h 포함)
IRQL DISPATCH_LEVEL

추가 정보

WdfDmaTransactionDmaCompletedFinal

WdfDmaTransactionSetChannelConfigurationCallback