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, OuterUnknown 및 ResourceList 매개 변수는 COM 개체에 대한 참조 계산 규칙을 따릅니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | portcls.h(Portcls.h 포함) |
IRQL | PASSIVE_LEVEL |