Метод IMiniportWaveCyclic::NewStream (portcls.h)
Метод NewStream
создает новый экземпляр логического потока, связанного с указанным физическим каналом.
Синтаксис
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
Номер открываемого контакта. Если метод IMiniport::GetDescription драйвера WaveCyclic miniport выводит дескриптор фильтра, указывающий в общей сложности n фабрик контактов в фильтре, то допустимые значения параметра Pin находятся в диапазоне от 0 до n-1.
[in] Capture
Указывает, следует ли создать поток захвата или поток отрисовки. Этот параметр имеет значение TRUE для канала записи (входных данных) и FALSE для канала воспроизведения (вывода).
[in] DataFormat
Указатель на структуру KSDATAFORMAT , указывающую формат, используемый для данного экземпляра.
[out] DmaChannel
Выходной указатель на канал DMA. Этот параметр указывает на выделенную вызывающим объектом переменную указателя, в которую метод записывает указатель на интерфейс IDmaChannel объекта DMA-канала драйвера miniport. Вызывающий объект задает допустимое значение указателя, отличное от NULL , для этого параметра. Дополнительные сведения см. в разделе "Примечания".
[out] ServiceGroup
Указатель вывода для группы служб. Этот параметр указывает на выделенную вызывающим объектом переменную указателя, в которую метод записывает указатель на интерфейс IServiceGroup объекта группы служб потока. Это группа служб, которая регистрируется для уведомления о прерывании. Вызывающий объект задает допустимое значение указателя, отличное от NULL , для этого параметра.
Возвращаемое значение
NewStream
возвращает STATUS_SUCCESS, если вызов был успешным. В противном случае метод возвращает соответствующий код ошибки.
Комментарии
Метод NewStream
задает начальное состояние потока KSSTATE_STOP, а его начальное положение — нулевое. (См . IMiniportWaveCyclicStream::SetState и IMiniportWaveCyclicStream::GetPosition.)
Драйвер порта вызывает только следующие методы в объекте DmaChannel :
IDmaChannel::AllocatedBufferSize
Параметры Stream, OuterUnknown, DmaChannel и ServiceGroup следуют соглашениям о подсчете ссылок для COM-объектов.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | portcls.h (включая Portcls.h) |
IRQL | PASSIVE_LEVEL |