IPortWaveCyclic::NewMasterDmaChannel 메서드(portcls.h)
메서드는 NewMasterDmaChannel
버스 master DMA 채널의 새 instance 만듭니다.
구문
NTSTATUS NewMasterDmaChannel(
[out] PDMACHANNEL *DmaChannel,
[in] PUNKNOWN OuterUnknown,
[in, optional] PRESOURCELIST ResourceList,
[in] ULONG MaximumLength,
[in] BOOLEAN Dma32BitAddresses,
[in] BOOLEAN Dma64BitAddresses,
[in] DMA_WIDTH DmaWidth,
[in] DMA_SPEED DmaSpeed
);
매개 변수
[out] DmaChannel
메서드가 새 IDmaChannel 개체에 대한 포인터를 쓰는 호출자 할당 포인터 변수에 대한 포인터입니다. 이 매개 변수에 유효한 NULL 이 아닌 포인터 값을 지정합니다.
[in] OuterUnknown
DMA 채널 개체를 집계해야 하는 개체의 IUnknown 인터페이스에 대한 포인터입니다. 이 매개 변수는 선택적 요소입니다. 집계가 필요하지 않은 경우 이 매개 변수를 NULL로 지정합니다.
[in, optional] ResourceList
IResourceList 개체인 미니포트 드라이버의 리소스 목록에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL로 지정할 수 있습니다. 메서드는 NewMasterDmaChannel
현재 이 매개 변수를 사용하지 않습니다.
[in] MaximumLength
이 채널과 연결될 순환 DMA 버퍼의 최대 길이(바이트)입니다.
[in] Dma32BitAddresses
32비트 주소의 사용을 지정합니다.
[in] Dma64BitAddresses
64비트 주소의 사용을 지정합니다.
[in] DmaWidth
사용되지 않습니다. (DMA_WIDTH)(-1)으로 설정합니다.
[in] DmaSpeed
사용되지 않습니다. (DMA_SPEED)(-1)으로 설정합니다.
반환 값
NewMasterDmaChannel
는 호출에 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드는 적절한 오류 코드를 반환합니다.
설명
MaximumLength, Dma32BitAddresses, Dma64BitAddresses, DmaWidth 및 DmaSpeed 매개 변수는 이름이 같은 DEVICE_DESCRIPTION 구조체의 멤버와 비슷합니다.
버스 마스터링 DMA 하드웨어가 내장된 WaveCyclic 디바이스를 master 디바이스라고 합니다. 반면, 하위 디바이스 에는 DMA 하드웨어가 없으며 시스템 DMA 컨트롤러를 사용하여 필요한 데이터 전송을 수행해야 합니다. 메서드는 NewMasterDmaChannel
master 디바이스에 대한 DMA 채널 개체를 만듭니다. 하위 디바이스에 대한 DMA 채널 개체를 만들려면 대신 IPortWaveCyclic::NewSlaveDmaChannel 메서드를 호출합니다. master 및 하위 디바이스에 대한 자세한 내용은 IDmaChannel 및 IDmaChannelSlave를 참조하세요.
DmaChannel, OuterUnknown 및 ResourceList 매개 변수는 COM 개체에 대한 참조 계산 규칙을 따릅니다.
참고
Microsoft는 다양하고 포괄적인 환경을 지원합니다. 이 문서에는 바이어스 없는 통신을 위한 Microsoft 스타일 가이드 에서 제외로 인식하는 용어에 대한 참조가 포함되어 있습니다. 단어 또는 구는 현재 소프트웨어에 표시되므로 일관성을 위해 이 문서에서 사용됩니다. 언어를 제거하도록 소프트웨어가 업데이트되면 이 문서는 맞춤으로 업데이트됩니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | portcls.h(Portcls.h 포함) |
IRQL | PASSIVE_LEVEL |