다음을 통해 공유


WDF_DMA_ENABLER_CONFIG_FLAGS 열거형(wdfdmaenabler.h)

[KMDF에만 적용]

WDF_DMA_ENABLER_CONFIG_FLAGS 열거형 형식은 드라이버의 WDF_DMA_ENABLER_CONFIG 구조에 사용되는 플래그를 정의합니다.

Syntax

typedef enum _WDF_DMA_ENABLER_CONFIG_FLAGS {
  WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION = 0x00000001,
  WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER = 0x00000002
} WDF_DMA_ENABLER_CONFIG_FLAGS;

상수

 
WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION
값: 0x00000001
WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION 플래그는 다음 DMA 프로필에만 적용됩니다.


  • WdfDmaProfileScatterGather

  • WdfDmaProfileScatterGather64

  • WdfDmaProfileScatterGatherDuplex

  • WdfDmaProfileScatterGather64Duplex



기본적으로 WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION 설정되지 않고 WDF_DMA_PROFILE 이전 목록의 WDF 중 하나인 경우
이 DMA 어댑터의 트랜잭션에서 사용되는 분산/수집 목록의 lookaside 목록을 만듭니다.
개체여야 합니다. 목록 항목이 초기화되어 지정된 최대값을 허용합니다.
전송 길이입니다. 트랜잭션이 실행되면 WDF는 BuildScatterGatherList 항목 함수를 호출합니다. 진행률 드라이버 전달
이 플래그를 설정하지 않아야 하며 이전에 표시된 네 개의 프로필 중 하나를 사용해야 합니다.

WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION 설정되고 WDF_DMA_PROFILE 이전 목록의 목록 중 하나인 경우 WDF는 lookaside 목록을 만들지 않습니다. 트랜잭션이 실행되면 WDF는 GetScatterGatherList를 호출합니다.

WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION 설정하면 특히 최대 전송 길이가 큰 경우 메모리 사용량이 감소할 수 있습니다. 그러나 이 플래그를 설정하면 메모리 부족 조건에서 DMA 작업을 수행하지 못할 수 있습니다. WDF_DMA_ENABLER_CONFIG_NO_SGLIST_PREALLOCATION 설정된 경우 정방향 진행을 보장하기 위해 드라이버는 별도의 DMA 사용자를 사용하거나 공통 버퍼를 통해 전송을 반송할 수 있습니다.
WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER
값: 0x00000002
WDF_DMA_ENABLER_CONFIG_REQUIRE_SINGLE_TRANSFER 플래그는 KMDF 버전 1.19부터 사용할 수 있습니다. 이 플래그에는 DMA 버전 3도 필요합니다.
DMA 버전 3을 선택하려면 WDF_DMA_ENABLER_CONFIG WdmDmaVersionOverride 멤버를 3으로 설정합니다.

이 플래그는 모든 DMA 프로필에 적용됩니다. 설정되면 WDF는 이 사용자를 사용하여 만든 WDFDMATRANSACTION을 여러 DMA 전송으로 조각화하지 않습니다. 이것이 불가능한 경우 트랜잭션을 초기화하거나 실행하려고 하면 실패합니다. 이 옵션은 단일 DMA 작업에서 모든 데이터를 수신해야 하는 디바이스를 위한 것입니다.

드라이버에는 WdfDmaTransactionSetSingleTransferRequirement를 사용하여 트랜잭션별 수준에서 이를 지정할 수도 있습니다.

자세한 내용은 단일 전송 DMA 사용을 참조하세요.

설명

WDF_DMA_ENABLER_CONFIG 구조체의 Flags 멤버에 대해 이 페이지에 있는 값의 유효한 비트 OR을 지정할 수 있습니다.

요구 사항

요구 사항
최소 KMDF 버전 1.11
머리글 wdfdmaenabler.h(Wdf.h 포함)

추가 정보

WDF_DMA_ENABLER_CONFIG

WDF_DMA_PROFILE

WdfDmaTransactionSetSingleTransferRequirement