IPortWavePci::NewMasterDmaChannel 메서드(portcls.h)
NewMasterDmaChannel
메서드는 버스 마스터 DMA 채널의 새 인스턴스를 만듭니다.
통사론
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 |