Método IMiniportWaveCyclic::NewStream (portcls.h)
O método NewStream
cria uma nova instância de um fluxo lógico associado a um canal físico especificado.
Sintaxe
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
);
Parâmetros
[out] Stream
Ponteiro de saída para o novo fluxo. Esse parâmetro aponta para uma variável de ponteiro alocada por chamador na qual o método grava um ponteiro na interface IMiniportWaveCyclicStream do objeto de fluxo. O chamador especifica um valor de ponteiro NULL NULL válido para esse parâmetro.
[in, optional] OuterUnknown
Ponteiro para a interface IUnknown de um objeto que precisa agregar o objeto de fluxo. Esse parâmetro é opcional. Se a agregação não for necessária, o chamador especifica 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 será um dos tipos de pool nãopagados definidos na enumeração POOL_TYPE.
[in] Pin
Número do pino a ser aberto. Se o método IMiniport::GetDescription do driver de miniporto WaveCyclic produzir um descritor de filtro que especifica um total de n fixar fábricas no filtro, os valores válidos para o parâmetro Pin estarão no intervalo de 0 a n-1.
[in] Capture
Especifica se um fluxo de captura ou um fluxo de renderização deve ser criado. Esse parâmetro é TRUE para um canal de captura (entrada) e FALSE para um canal de reprodução (saída).
[in] DataFormat
Ponteiro para uma estrutura KSDATAFORMAT indicando o formato a ser usado para essa instância.
[out] DmaChannel
Ponteiro de saída para o canal DMA. Esse parâmetro aponta para uma variável de ponteiro alocada por chamador na qual o método grava um ponteiro na interface IDmaChannel do objeto DMA-channel do driver de miniport. O chamador especifica um valor de ponteiro NULL NULL válido para esse parâmetro. Para obter mais informações, consulte a seção Comentários a seguir.
[out] ServiceGroup
Ponteiro de saída para o grupo de serviços. Esse parâmetro aponta para uma variável de ponteiro alocada por chamador na qual o método grava um ponteiro na 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. O chamador especifica um valor de ponteiro NULL NULL válido para esse parâmetro.
Valor de retorno
NewStream
retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Caso contrário, o método retornará um código de erro apropriado.
Observações
O método NewStream
define o estado inicial do fluxo como KSSTATE_STOP e sua posição inicial como zero. (Consulte IMiniportWaveCyclicStream::SetState e IMiniportWaveCyclicStream::GetPosition.)
O driver de porta chama apenas os seguintes métodos no objeto DmaChannel:
IDmaChannel::AllocatedBufferSize
Os parâmetros Stream, OuterUnknown, DmaChannele ServiceGroup seguem as convenções de contagem de referência para objetos COM.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Universal |
cabeçalho | portcls.h (inclua Portcls.h) |
IRQL | PASSIVE_LEVEL |