DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION 구조체(wdm.h)
공통 버퍼를 만들 때 제약 조건 및 기능을 자세히 설명하는 구성을 정의합니다. 드라이버는 CreateCommonBufferFromMdl 콜백 루틴에서 DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION 구조의 배열을 제공할 수 있습니다.
구문
typedef struct _DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION {
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE ConfigType;
union {
struct {
PHYSICAL_ADDRESS MinimumAddress;
PHYSICAL_ADDRESS MaximumAddress;
} LogicalAddressLimits;
struct {
ULONGLONG Offset;
ULONG Length;
} SubSection;
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE HardwareAccessType;
ULONGLONG Reserved[4];
};
} DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION, *PDMA_COMMON_BUFFER_EXTENDED_CONFIGURATION;
멤버
ConfigType
이 instance 나타내는 공통 버퍼 확장 구성의 형식을 나타내는 DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE 형식의 값입니다.
LogicalAddressLimits
ConfigType이 CommonBufferConfigTypeLogicalAddressLimits이면 생성되는 공통 버퍼에 대한 논리적 주소 제한을 설명합니다.
LogicalAddressLimits.MinimumAddress
생성되는 공통 버퍼의 최소 시작 논리 주소를 제공합니다.
LogicalAddressLimits.MaximumAddress
생성되는 공통 버퍼의 (포함) 최대 최종 논리 주소를 제공합니다.
SubSection
ConfigType이 CommonBufferConfigTypeSubSection인 경우 생성되는 공통 버퍼를 백업하는 데 사용해야 하는 지원 MDL 내의 하위 섹션을 설명합니다.
하위 섹션은 MDL 체인의 단일 MDL 내에만 포함되어야 합니다.
SubSection.Offset
공통 버퍼의 시작 주소를 나타내는 오프셋을 MDL에 제공합니다. 페이지 맞춤이어야 합니다.
SubSection.Length
공통 버퍼 하위 섹션의 길이를 제공합니다. 페이지 맞춤이어야 합니다.
HardwareAccessType
ConfigType이 CommonBufferConfigTypeHardwareAccessPermissions인 경우 생성되는 공통 버퍼에 대한 하드웨어 액세스 권한을 설명하는 DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE 형식의 값입니다.
시스템에서 액세스 형식을 사용할 수 없는 경우 일반적인 버퍼 만들기가 실패합니다. DMA 어댑터가 DMA 다시 매핑을 사용하는 경우에만 ReadOnly 및 WriteOnly가 허용됩니다.
Reserved[4]
이 필드는 사용되지 않습니다.
설명
확장 구성은 CreateCommonBufferFromMdl 콜백 루틴에 대한 선택적 매개 변수입니다.
확장된 구성이 제공되지 않으면 일반 버퍼 만들기는 전체 MDL을 지원 메모리로 사용하고, 최소 논리 주소는 0이고 사용 중인 DMA_ADAPTER 정의된 최대 논리 주소를 사용합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 서버 | Windows Server 2022 |
머리글 | wdm.h |
추가 정보
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_TYPE 열거형
DMA_COMMON_BUFFER_EXTENDED_CONFIGURATION_ACCESS_TYPE 열거형
콜 백 루틴 PCREATE_COMMON_BUFFER_FROM_MDL