DMA_ADAPTER 구조체(wdm.h)
DMA_ADAPTER 구조는 지정된 디바이스에 대한 DMA 컨트롤러에 대한 시스템 정의 인터페이스를 설명합니다. 드라이버는 IoGetDmaAdapter 를 호출하여 이 구조를 가져옵니다.
구문
typedef struct _DMA_ADAPTER {
USHORT Version;
USHORT Size;
PDMA_OPERATIONS DmaOperations;
} *PADAPTER_OBJECT, DMA_ADAPTER, *PDMA_ADAPTER;
멤버
Version
이 구조체의 버전을 지정합니다. DMA_ADAPTER 구조의 버전 3은 Windows 8 부터 사용할 수 있습니다. 이 구조체의 버전 1과 2의 경우 이 멤버는 값 1로 설정됩니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
Size
이 구조체의 크기(바이트)를 지정합니다.
DmaOperations
DMA 어댑터 함수에 대한 포인터를 포함하는 DMA_OPERATIONS 구조체에 대한 포인터입니다. 이 멤버가 가리키는 DMA_OPERATIONS 구조체의 버전은 DMA_ADAPTER 구조체의 버전에 따라 결정됩니다. 따라서 DMA_ADAPTER 구조의 버전 1에 대해 DmaOperations 는 DMA_OPERATIONS 구조체의 버전 1을 가리킵니다. 구조 버전에 대한 자세한 내용은 다음 주의 섹션을 참조하세요.
설명
DMA를 사용하여 데이터를 전송하는 디바이스용 드라이버는 이 구조를 사용하여 DMA 컨트롤러를 사용할 수 있는 함수의 주소를 가져옵니다. 일반적으로 드라이버는 IoGetDmaAdapter 루틴을 호출하여 이 구조를 가져옵니다. 드라이버는 BUS_INTERFACE_STANDARD 인터페이스를 쿼리하여 이 구조를 가져올 수도 있습니다.
IoGetDmaAdapter 루틴이 DMA_ADAPTER 구조체의 버전 1 또는 버전 2에 대한 포인터를 반환하는 경우 이 루틴은 항상 이 구조체의 Version 멤버를 1로 설정합니다. 따라서 호출자는 Version 멤버를 사용하여 DMA_ADAPTER 구조의 버전 1과 2를 구분할 수 없습니다. 이 루틴에서 반환되는 DMA_ADAPTER 구조체의 버전을 확인하는 방법에 대한 자세한 내용은 IoGetDmaAdapter를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |