IPortWaveCyclic::NewMasterDmaChannel 메서드(portcls.h)

이 메서드는 NewMasterDmaChannel 버스 마스터 DMA 채널의 새 인스턴스를 만듭니다.

구문

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 디바이스를 마스터 디바이스라고 합니다. 반면, 하위 디바이스 는 DMA 하드웨어가 부족하고 시스템 DMA 컨트롤러를 사용하여 필요한 모든 데이터 전송을 수행해야 합니다. 이 메서드는 NewMasterDmaChannel 마스터 디바이스에 대한 DMA 채널 개체를 만듭니다. 하위 디바이스에 대한 DMA 채널 개체를 만들려면 IPortWaveCyclic::NewSlaveDmaChannel 메서드를 대신 호출합니다. 마스터 및 하위 디바이스에 대한 자세한 내용은 IDmaChannelIDmaChannelSlave를 참조하세요.

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

참고

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

요구 사항

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

참고 항목

DEVICE_DESCRIPTION

IDmaChannel

IDmaChannelSlave

IPortWaveCyclic

IPortWaveCyclic::NewSlaveDmaChannel

IResourceList