IDmaChannel 인터페이스(portcls.h)
인터페이스는 IDmaChannel DMA 채널 및 관련 DMA 버퍼 및 사용 매개 변수의 추상화 기능을 제공합니다. WaveCyclic 또는 WavePci 포트 드라이버는 이 인터페이스를 구현하고 WaveCyclic 또는 WavePci 미니포트 드라이버에 노출합니다. 미니포트 드라이버는 포트 드라이버의 NewXxxDmaChannel 메서드 중 하나를 호출하여 포트 드라이버의 개체 구현 IDmaChannel 에 대한 참조를 가져옵니다.
IDmaChannel 인터페이스를 구현할 수도 있습니다. 이에 대한 자세한 내용은 웨이브 필터를 참조하세요. 포트 드라이버가 미니포트 드라이버의 NewStream 메서드(예: IMiniportWaveCyclic::NewStream)를 호출하면 이 메서드는 미니포트 드라이버의 IDmaChannel 개체를 포트 드라이버에 출력합니다. IDmaChannel 는 IUnknown 인터페이스에서 상속됩니다.
Portcls.sys 인터페이스의 IDmaChannel 현재 구현은 공유 데이터에 대한 액세스를 내부적으로 동기화하지 않으므로 다중 스레드로부터 안전하지 않습니다. 일반적으로 단일 드라이버 스레드는 개체의 메서드를 IDmaChannel 호출합니다. 이 경우 두 메서드 호출이 동시에 동일한 데이터에 액세스할 위험이 없습니다. 그러나 여러 스레드가 개체의 메서드를 IDmaChannel 동시에 호출할 수 있는 경우 드라이버 작성기는 내부 데이터 손상을 방지하기 위해 메서드 호출을 동기화해야 합니다.
자세한 내용은 DMA 채널 개체를 참조하세요.
참고
Microsoft는 다양하고 포괄적인 환경을 지원합니다. 이 문서에는 바이어스 없는 통신을 위한 Microsoft 스타일 가이드 에서 제외로 인식하는 용어에 대한 참조가 포함되어 있습니다. 단어 또는 구는 현재 소프트웨어에 표시되므로 일관성을 위해 이 문서에서 사용됩니다. 언어를 제거하도록 소프트웨어가 업데이트되면 이 문서가 정렬되도록 업데이트됩니다.
상속
IDmaChannel 인터페이스는 IUnknown 인터페이스에서 상속됩니다.
메서드
IDmaChannel 인터페이스에는 이러한 메서드가 있습니다.
| IDmaChannel::AllocateBuffer AllocateBuffer 메서드는 포트 드라이버 및 DMA 하드웨어에서 액세스할 수 있는 공통 버퍼를 할당합니다. |
| IDmaChannel::AllocatedBufferSize AllocatedBufferSize 메서드는 할당된 버퍼의 크기를 반환합니다. |
| IDmaChannel::BufferSize BufferSize 메서드는 DMA 채널의 데이터 버퍼 크기를 바이트 단위로 반환합니다. |
| IDmaChannel::CopyFrom CopyFrom 메서드는 DMA 채널의 공통 버퍼에서 지정된 대상 버퍼로 샘플 데이터를 복사합니다. |
| IDmaChannel::CopyTo CopyTo 메서드는 지정된 원본 버퍼에서 DMA 채널의 공통 버퍼에 샘플 데이터를 복사합니다. |
| IDmaChannel::FreeBuffer FreeBuffer 메서드는 IDmaChannel::AllocateBuffer에 대한 이전 호출에 의해 할당된 버퍼를 해제합니다. |
| IDmaChannel::GetAdapterObject GetAdapterObject 메서드는 DMA 채널의 하드웨어 어댑터 개체를 반환합니다. |
| IDmaChannel::MaximumBufferSize MaximumBufferSize 메서드는 이 DMA 채널 개체가 지원하도록 구성된 가장 큰 버퍼의 크기(바이트)를 반환합니다. |
| IDmaChannel::P hysicalAddress PhysicalAddress 메서드는 할당된 버퍼의 물리적 주소를 반환합니다. |
| IDmaChannel::SetBufferSize SetBufferSize 메서드는 DMA 채널의 현재 버퍼 크기를 설정합니다. |
| IDmaChannel::SystemAddress SystemAddress 메서드는 할당된 버퍼의 시스템 주소를 반환합니다. |
| IDmaChannel::TransferCount TransferCount 메서드는 현재 하위 DMA 개체에 의해 전송되는 버퍼의 크기(바이트)를 반환합니다. |
요구 사항
| 대상 플랫폼 | Windows |
| 헤더 | portcls.h |
피드백
다음에 대한 사용자 의견 제출 및 보기