Método IMiniportMidi::NewStream (portcls.h)

O NewStream método cria uma nova instância de um fluxo lógico associado a um canal físico especificado.

Sintaxe

NTSTATUS NewStream(
  [out]          PMINIPORTMIDISTREAM *Stream,
  [in, optional] PUNKNOWN            OuterUnknown,
  [in]           POOL_TYPE           PoolType,
  [in]           ULONG               Pin,
  [in]           BOOLEAN             Capture,
  [in]           PKSDATAFORMAT       DataFormat,
  [out]          PSERVICEGROUP       *ServiceGroup
);

Parâmetros

[out] Stream

Ponteiro de saída para o novo fluxo. Esse parâmetro aponta para uma variável de ponteiro alocada pelo chamador na qual o método grava um ponteiro na interface IMiniportMidiStream do objeto de fluxo.

[in, optional] OuterUnknown

Ponteiro para a interface IUnknown de um objeto que precisa agregar o objeto stream. Esse parâmetro é opcional. Se a agregação não for necessária, o chamador especificará esse parâmetro como NULL.

[in] PoolType

Especifica o tipo de pool de memória do qual o armazenamento do objeto de canal DMA deve ser alocado. Esse parâmetro é definido como um dos valores de enumeração POOL_TYPE .

[in] Pin

Especifica a ID do pino. Esse parâmetro identifica o pino que deve ser aberto. Se o método IMiniport::GetDescription do objeto de miniport midi gerar um descritor de filtro que especifica um total de n fábricas de pinos no filtro, as IDs de pin válidas estarão no intervalo de 0 a n-1.

[in] Capture

Especifica se o canal deve ser usado para captura ou reprodução. Se TRUE, é um canal de captura (entrada). Se FALSE, é um canal de reprodução (saída).

[in] DataFormat

Ponteiro para uma estrutura KSDATAFORMAT que especifica o formato de dados a ser usado para essa instância de fluxo.

[out] ServiceGroup

Ponteiro de saída para o grupo de serviços. Esse parâmetro aponta para uma variável de ponteiro alocada pelo chamador na qual o método grava um ponteiro para a interface IServiceGroup do objeto do grupo de serviços do fluxo. Esse é o grupo de serviços que está sendo registrado para notificação de interrupção.

Retornar valor

NewStream retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, o método retorna um código de erro apropriado.

Comentários

O NewStream método define o estado inicial do fluxo como KSSTATE_STOP.

Os parâmetros Stream, OuterUnknown e ServiceGroup seguem as convenções de contagem de referência para objetos COM.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho portcls.h (inclua Portcls.h)
IRQL PASSIVE_LEVEL

Confira também

IMiniport::GetDescription

IMiniportMidi

IMiniportMidiStream

IServiceGroup

KSDATAFORMAT

POOL_TYPE