FreeAdapterChannel 루틴은 드라이버가 현재 IRP를 충족하는 데 필요한 모든 DMA 작업을 완료한 경우 시스템 DMA 컨트롤러를 해제합니다.
통사론
PFREE_ADAPTER_CHANNEL PfreeAdapterChannel;
void PfreeAdapterChannel(
[in] PDMA_ADAPTER DmaAdapter
)
{...}
매개 변수
[in] DmaAdapter
버스 마스터 어댑터 또는 DMA 컨트롤러를 나타내는 IoGetDmaAdapter 반환된 DMA_ADAPTER 구조체에 대한 포인터입니다.
반환 값
없음
발언
FreeAdapterChannel 이름으로 직접 호출할 수 있는 시스템 루틴이 아닙니다. 이 루틴은 DMA_OPERATIONS 구조에서 반환된 주소의 포인터로만 호출할 수 있습니다. 드라이버는 IoGetDmaAdapter호출하여 이 루틴의 주소를 가져옵니다.
드라이버가 모든 데이터를 전송하고 FlushAdapterBuffers호출한 후 FreeAdapterChannel 호출하여 AllocateAdapterChannel호출하여 이전에 할당된 시스템 DMA 컨트롤러를 해제합니다.
FreeAdapterChannelAllocateAdapterChannel대한 이전 호출에 의해 할당된 모든 맵 레지스터를 해제합니다. 드라이버는 AdapterControl 루틴이 KeepObject 반환하는 경우에만 이 루틴을 호출합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000부터 사용할 수 있습니다. |
대상 플랫폼 | 바탕 화면 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
IRQL | DISPATCH_LEVEL |
DDI 규정 준수 규칙 | IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm) |