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 |