다음을 통해 공유


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, DmaWidthDmaSpeed 매개 변수는 이름이 같은 DEVICE_DESCRIPTION 구조체의 멤버와 비슷합니다.

버스 마스터링 DMA 하드웨어가 내장된 WaveCyclic 디바이스를 master 디바이스라고 합니다. 반면, 하위 디바이스 에는 DMA 하드웨어가 없으며 시스템 DMA 컨트롤러를 사용하여 필요한 데이터 전송을 수행해야 합니다. 메서드는 NewMasterDmaChannel master 디바이스에 대한 DMA 채널 개체를 만듭니다. 하위 디바이스에 대한 DMA 채널 개체를 만들려면 대신 IPortWaveCyclic::NewSlaveDmaChannel 메서드를 호출합니다. master 및 하위 디바이스에 대한 자세한 내용은 IDmaChannelIDmaChannelSlave를 참조하세요.

DmaChannel, OuterUnknownResourceList 매개 변수는 COM 개체에 대한 참조 계산 규칙을 따릅니다.

참고

Microsoft는 다양하고 포괄적인 환경을 지원합니다. 이 문서에는 바이어스 없는 통신을 위한 Microsoft 스타일 가이드 에서 제외로 인식하는 용어에 대한 참조가 포함되어 있습니다. 단어 또는 구는 현재 소프트웨어에 표시되므로 일관성을 위해 이 문서에서 사용됩니다. 언어를 제거하도록 소프트웨어가 업데이트되면 이 문서는 맞춤으로 업데이트됩니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 portcls.h(Portcls.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

DEVICE_DESCRIPTION

IDmaChannel

IDmaChannelSlave

IPortWaveCyclic

IPortWaveCyclic::NewSlaveDmaChannel

IResourceList