Método IMiniportWaveCíclico::NewStream (portcls.h)
El NewStream
método crea una nueva instancia de una secuencia lógica asociada a un canal físico especificado.
Sintaxis
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
Puntero de salida para la nueva secuencia. Este parámetro apunta a una variable de puntero asignada por el autor de la llamada en la que el método escribe un puntero en la interfaz IMiniportWaveStream del objeto de secuencia. El llamador especifica un valor de puntero válido que no sea NULL para este parámetro.
[in, optional] OuterUnknown
Puntero a la interfaz IUnknown de un objeto que necesita agregar el objeto de secuencia. Este parámetro es opcional. Si no se requiere la agregación, el autor de la llamada especifica este parámetro como NULL.
[in] PoolType
Especifica el tipo de grupo de memoria desde el que se debe asignar el almacenamiento para el objeto de canal DMA. Este parámetro será uno de los tipos de grupo no paginados definidos en la enumeración POOL_TYPE .
[in] Pin
Número del pin que se va a abrir. Si el método IMiniport::GetDescription del controlador de minipuerto WaveCíclico genera un descriptor de filtro que especifica un total de n generadores de patillas en el filtro, los valores válidos para el parámetro Pin se encuentran en el intervalo de 0 a n-1.
[in] Capture
Especifica si se va a crear una secuencia de captura o una secuencia de representación. Este parámetro es TRUE para un canal de captura (entrada) y FALSE para un canal de reproducción (salida).
[in] DataFormat
Puntero a una estructura KSDATAFORMAT que indica el formato que se va a usar para esta instancia.
[out] DmaChannel
Puntero de salida al canal DMA. Este parámetro apunta a una variable de puntero asignada por el autor de la llamada en la que el método escribe un puntero a la interfaz IDmaChannel del objeto DMA-channel del controlador de miniporte. El llamador especifica un valor de puntero válido que no sea NULL para este parámetro. Para obtener más información, vea la sección Comentarios que se muestra más adelante.
[out] ServiceGroup
Puntero de salida para el grupo de servicios. Este parámetro apunta a una variable de puntero asignada por el autor de la llamada en la que el método escribe un puntero en la interfaz IServiceGroup del objeto de grupo de servicios de la secuencia. Este es el grupo de servicios que se está registrando para la notificación de interrupción. El llamador especifica un valor de puntero válido que no sea NULL para este parámetro.
Valor devuelto
NewStream
devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, el método devuelve un código de error adecuado.
Comentarios
El NewStream
método establece el estado inicial de la secuencia en KSSTATE_STOP y su posición inicial en cero. (Vea IMiniportWaveCyclicStream::SetState e IMiniportWaveCíclicaStream::GetPosition).
El controlador de puerto llama solo a los métodos siguientes en el objeto DmaChannel :
IDmaChannel::AllocatedBufferSize
Los parámetros Stream, OuterUnknown, DmaChannel y ServiceGroup siguen las convenciones de recuento de referencias para objetos COM.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | portcls.h (incluir Portcls.h) |
IRQL | PASSIVE_LEVEL |