IMiniportWaveCyclic::NewStream 메서드(portcls.h)
메서드는 NewStream
지정된 물리적 채널과 연결된 논리 스트림의 새 instance 만듭니다.
구문
NTSTATUS NewStream(
[out] PMINIPORTWAVECYCLICSTREAM *Stream,
[in, optional] PUNKNOWN OuterUnknown,
[in] POOL_TYPE PoolType,
[in] ULONG Pin,
[in] BOOLEAN Capture,
[in] PKSDATAFORMAT DataFormat,
[out] PDMACHANNEL *DmaChannel,
[out] PSERVICEGROUP *ServiceGroup
);
매개 변수
[out] Stream
새 스트림에 대한 출력 포인터입니다. 이 매개 변수는 메서드가 스트림 개체의 IMiniportWaveCyclicStream 인터페이스에 대한 포인터를 쓰는 호출자 할당 포인터 변수를 가리킵니다. 호출자는 이 매개 변수에 대해 유효한 NULL 이 아닌 포인터 값을 지정합니다.
[in, optional] OuterUnknown
스트림 개체를 집계해야 하는 개체의 IUnknown 인터페이스에 대한 포인터입니다. 이 매개 변수는 선택적 요소입니다. 집계가 필요하지 않은 경우 호출자는 이 매개 변수를 NULL로 지정합니다.
[in] PoolType
DMA 채널 개체에 대한 스토리지를 할당해야 하는 메모리 풀의 유형을 지정합니다. 이 매개 변수는 POOL_TYPE 열거형에 정의된 비페이지 풀 형식 중 하나입니다.
[in] Pin
열 핀의 수입니다. WaveCyclic 미니포트 드라이버의 IMiniport::GetDescription 메서드가 필터에서 총 n개의 핀 팩터리를 지정하는 필터 설명자를 출력하는 경우 매개 변수 Pin 에 대한 유효한 값은 0에서 n-1 범위까지입니다.
[in] Capture
캡처 스트림 또는 렌더링 스트림을 만들지 여부를 지정합니다. 이 매개 변수는 캡처(입력) 채널의 경우 TRUE 이고 재생(출력) 채널의 경우 FALSE 입니다.
[in] DataFormat
이 instance 사용할 형식을 나타내는 KSDATAFORMAT 구조체에 대한 포인터입니다.
[out] DmaChannel
DMA 채널에 대한 출력 포인터입니다. 이 매개 변수는 메서드가 미니포트 드라이버의 DMA 채널 개체의 IDmaChannel 인터페이스에 대한 포인터를 쓰는 호출자 할당 포인터 변수를 가리킵니다. 호출자는 이 매개 변수에 대해 유효한 NULL 이 아닌 포인터 값을 지정합니다. 자세한 내용은 아래 설명 부분을 참조하십시오.
[out] ServiceGroup
서비스 그룹에 대한 출력 포인터입니다. 이 매개 변수는 메서드가 스트림의 서비스 그룹 개체의 IServiceGroup 인터페이스에 대한 포인터를 쓰는 호출자 할당 포인터 변수를 가리킵니다. 인터럽트 알림에 등록되는 서비스 그룹입니다. 호출자는 이 매개 변수에 대해 유효한 NULL 이 아닌 포인터 값을 지정합니다.
반환 값
NewStream
는 호출에 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드는 적절한 오류 코드를 반환합니다.
설명
메서드는 NewStream
스트림의 초기 상태를 KSSTATE_STOP 초기 위치를 0으로 설정합니다. ( IMiniportWaveCyclicStream::SetState 및 IMiniportWaveCyclicStream::GetPosition을 참조하세요.)
포트 드라이버는 DmaChannel 개체에서 다음 메서드만 호출합니다.
IDmaChannel::AllocatedBufferSize
Stream, OuterUnknown, DmaChannel 및 ServiceGroup 매개 변수는 COM 개체에 대한 참조 계산 규칙을 따릅니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | portcls.h(Portcls.h 포함) |
IRQL | PASSIVE_LEVEL |