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에 대해 DmaOperationsDMA_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 포함)

추가 정보

BUS_INTERFACE_STANDARD

DMA_OPERATIONS

IoGetDmaAdapter