Поделиться через


Метод 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-channel. Этот параметр будет одним из типов непагированных пулов, определенных в перечислении POOL_TYPE.

[in] Pin

Число открываемого пин-кода. Если метод IMiniport::GetDescription драйвера miniport::GetDescript ion выводит дескриптор фильтра, указывающий общую n закрепления фабрик в фильтре, то допустимые значения для параметра Пин-код находятся в диапазоне от 0 до n-1.

[in] Capture

Указывает, следует ли создавать поток записи или поток отрисовки. Этот параметр TRUE для канала записи (входных данных) и FALSE для канала воспроизведения (вывода).

[in] DataFormat

Указатель на структуру KSDATAFORMAT, указывающую формат, используемый для этого экземпляра.

[out] DmaChannel

Указатель вывода на канал DMA. Этот параметр указывает на переменную вызываемого указателя, в которую метод записывает указатель на интерфейс IDmaChannel объекта DMA-channel драйвера минипорта. Вызывающий объект задает допустимое значение указателя, отличное отNULL для этого параметра. Дополнительные сведения см. в следующем разделе "Примечания".

[out] ServiceGroup

Указатель вывода для группы служб. Этот параметр указывает на переменную вызываемого указателя, в которую метод записывает указатель на интерфейс IServiceGroup объекта группы служб потока. Это группа служб, зарегистрированная для уведомления о прерывании. Вызывающий объект задает допустимое значение указателя, отличное отNULL для этого параметра.

Возвращаемое значение

NewStream возвращает STATUS_SUCCESS, если вызов выполнен успешно. В противном случае метод возвращает соответствующий код ошибки.

Замечания

Метод NewStream задает начальное состояние потока на KSSTATE_STOP и его начальное положение равно нулю. (См. IMiniportWaveCyclicStream::SetState и IMiniportWaveCyclicStream::GetPosition.)

Драйвер порта вызывает только следующие методы в объекте DmaChannel:

IDmaChannel::AllocatedBufferSize

IDmaChannel::BufferSize

IDmaChannel::CopyFrom

IDmaChannel::CopyTo

IDmaChannel::SetBufferSize

IDmaChannel::SystemAddress

Stream, OuterUnknown, DmaChannelи параметры ServiceGroup serviceGroup соответствуют соглашениям о подсчете ссылок для объектов COM.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

См. также

IDmaChannel

IMiniport::GetDescription

IMiniportWaveCyclic

IMiniportWaveCyclicStream

IServiceGroup

KSDATAFORMAT

POOL_TYPE