다음을 통해 공유


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

메서드는 NewMasterDmaChannel 버스 master DMA 채널의 새 instance 만듭니다.

구문

NTSTATUS NewMasterDmaChannel(
                 PDMACHANNEL   *OutDmaChannel,
  [in, optional] PUNKNOWN      OuterUnknown,
  [in]           POOL_TYPE     PoolType,
  [in, optional] PRESOURCELIST ResourceList,
  [in]           BOOLEAN       ScatterGather,
  [in]           BOOLEAN       Dma32BitAddresses,
  [in]           BOOLEAN       Dma64BitAddresses,
  [in]           BOOLEAN       IgnoreCount,
  [in]           DMA_WIDTH     DmaWidth,
  [in]           DMA_SPEED     DmaSpeed,
  [in]           ULONG         MaximumLength,
  [in]           ULONG         DmaPort
);

매개 변수

OutDmaChannel

[in, optional] OuterUnknown

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

[in] PoolType

개체를 할당할 스토리지 풀의 유형을 지정합니다. POOL_TYPE 열거형 값입니다. 이 매개 변수에 대해 페이지가 없는 풀 형식을 지정합니다.

[in, optional] ResourceList

IResourceList 개체인 미니포트 드라이버의 리소스 목록에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL로 지정할 수 있습니다. 메서드는 NewMasterDmaChannel 현재 이 매개 변수를 사용하지 않습니다.

[in] ScatterGather

DMA 채널이 분산/수집 DMA를 지원해 줄 것을 요청합니다. 항상 이 매개 변수를 TRUE로 설정합니다.

[in] Dma32BitAddresses

DMA 작업에 32비트 주소를 사용하도록 지정합니다.

[in] Dma64BitAddresses

DMA 작업에 64비트 주소를 사용하도록 지정합니다.

[in] IgnoreCount

DMA 컨트롤러의 전송 카운터를 무시할지 여부를 나타냅니다. 이 플랫폼의 DMA 컨트롤러가 정확한 전송 카운터를 유지 관리하지 않으므로 해결 방법이 필요한 경우 TRUE 로 설정합니다.

[in] DmaWidth

사용되지 않습니다. (DMA_WIDTH)(-1)로 설정합니다.

[in] DmaSpeed

사용되지 않습니다. (DMA_SPEED)(-1)로 설정합니다.

[in] MaximumLength

이 DMA 채널과 연결될 버퍼의 최대 바이트 수입니다.

[in] DmaPort

사용되지 않습니다. 0으로 설정합니다.

반환 값

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

설명

메서드에 대한 NewMasterDmaChannel 호출 매개 변수의 정의는 이름이 같은 DEVICE_DESCRIPTION 구조체의 멤버에 대한 정의와 유사합니다.

PoolType 매개 변수를 POOL_TYPE 열거형에 정의된 비페이지 풀 형식 중 하나로 지정합니다. IDmaChannel 인터페이스의 여러 메서드를 IRQL DISPATCH_LEVEL 호출할 수 있으므로 DMA 채널 개체는 페이징된 메모리에 있어야 합니다.

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

요구 사항

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

추가 정보

DEVICE_DESCRIPTION

IDmaChannel

IPortWavePci

IResourceList

POOL_TYPE