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

메서드는 NewSlaveDmaChannel 하위 DMA 채널의 새 instance 만듭니다.

구문

NTSTATUS NewSlaveDmaChannel(
  [out] PDMACHANNELSLAVE *DmaChannel,
  [in]  PUNKNOWN         OuterUnknown,
  [in]  PRESOURCELIST    ResourceList,
  [in]  ULONG            DmaIndex,
  [in]  ULONG            MaximumLength,
  [in]  BOOLEAN          DemandMode,
  [in]  DMA_SPEED        DmaSpeed
);

매개 변수

[out] DmaChannel

메서드가 새 DMA 채널 개체의 IDmaChannelSlave 인터페이스에 대한 포인터를 쓰는 호출자 할당 포인터 변수에 대한 포인터입니다. 이 매개 변수에 유효한 NULL 이 아닌 포인터 값을 지정합니다.

[in] OuterUnknown

DMA 채널 개체를 집계해야 하는 개체의 IUnknown 인터페이스에 대한 포인터입니다. 이 매개 변수는 선택적 요소입니다. 집계가 필요하지 않은 경우 이 매개 변수를 NULL로 지정합니다.

[in] ResourceList

IResourceList 개체에 대한 포인터입니다. 이 리소스 목록에는 DMA 채널을 설명하는 리소스가 포함되어 있습니다.

[in] DmaIndex

DMA 채널 설명자의 리소스 목록에서 인덱스입니다. 함수는 이 값을 ResourceList 개체의 IResourceList::FindxxxEntry 메서드에 대한 호출 매개 변수로 사용합니다.

[in] MaximumLength

이 채널과 연결될 순환 DMA 버퍼의 최대 길이(바이트)입니다.

[in] DemandMode

DMA 채널과 연결된 디바이스가 수요 모드를 지원하는지 여부를 나타냅니다.

[in] DmaSpeed

DMA 속도는 호환, TypeA, TypeB,TypeC 또는 TypeF의 DMA_SPEED 열거형 값 중 하나로 지정할 수 있습니다.

반환 값

NewSlaveDmaChannel 는 호출에 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드는 적절한 오류 코드를 반환합니다.

설명

참고

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

MaximumLength, DemandModeDmaSpeed 매개 변수는 이름이 같은 DEVICE_DESCRIPTION 구조체의 멤버와 의미가 비슷합니다.

DMA 하드웨어 기능이 없는 WaveCyclic 디바이스를 하위 디바이스라고 합니다. 반면, master 디바이스에는 버스 마스터링 DMA 하드웨어가 내장되어 있습니다. 하위 디바이스는 시스템 DMA 컨트롤러를 사용하여 필요한 모든 데이터 전송을 수행해야 합니다. 메서드는 NewSlaveDmaChannel 하위 디바이스에 대한 DMA 채널 개체를 만듭니다. master 디바이스에 대한 DMA 채널 개체를 만들려면 대신 IPortWaveCyclic::NewMasterDmaChannel 메서드를 호출합니다. Microsoft WDK(Windows 드라이버 키트)의 sb16 샘플 오디오 드라이버는 하위 디바이스에 대한 WaveCyclic 미니포트 드라이버의 예입니다. master 및 하위 디바이스에 대한 자세한 내용은 IDmaChannelIDmaChannelSlave를 참조하세요.

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

요구 사항

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

추가 정보

DEVICE_DESCRIPTION

IDmaChannel

IDmaChannelSlave

IPortWaveCyclic

IPortWaveCyclic::NewMasterDmaChannel

IResourceList