estructura HW_STREAM_OBJECT (strmini.h)

HW_STREAM_OBJECT describe una instancia de una secuencia de minidriver.

Sintaxis

typedef struct _HW_STREAM_OBJECT {
  ULONG                          SizeOfThisPacket;
  ULONG                          StreamNumber;
  PVOID                          HwStreamExtension;
  PHW_RECEIVE_STREAM_DATA_SRB    ReceiveDataPacket;
  PHW_RECEIVE_STREAM_CONTROL_SRB ReceiveControlPacket;
  HW_CLOCK_OBJECT                HwClockObject;
  BOOLEAN                        Dma;
  BOOLEAN                        Pio;
  PVOID                          HwDeviceExtension;
  ULONG                          StreamHeaderMediaSpecific;
  ULONG                          StreamHeaderWorkspace;
  BOOLEAN                        Allocator;
  PHW_EVENT_ROUTINE              HwEventRoutine;
  ULONG                          Reserved[2];
} HW_STREAM_OBJECT, *PHW_STREAM_OBJECT;

Miembros

SizeOfThisPacket

Especifica el tamaño, en bytes, de esta estructura.

StreamNumber

Especifica el desplazamiento de la secuencia dentro de la estructura de HW_STREAM_DESCRIPTOR del minidriver.

HwStreamExtension

Apunta a la extensión de secuencia, un búfer asignado por el controlador de clase para que el minidriver use para contener información privada sobre esta secuencia. El minidriver establece el tamaño del búfer en la estructura HW_INITIALIZATION_DATA que pasa cuando se registra con el controlador de clase de secuencia.

ReceiveDataPacket

Puntero a la rutina StrMiniReceiveStreamDataPacket de la secuencia.

ReceiveControlPacket

Puntero a la rutina StrMiniReceiveStreamControlPacket de la secuencia.

HwClockObject

Contiene el objeto de reloj de la secuencia. Consulte HW_CLOCK_OBJECT para obtener más información.

Dma

Si es TRUE, el dispositivo usa DMA para transferir datos de esta secuencia.

Pio

Si es TRUE, el dispositivo usa E/S programada para transferir datos de esta secuencia. Tenga en cuenta que los miembros de Pio y Dma pueden ser TRUE.

HwDeviceExtension

Puntero a la extensión del dispositivo del minidriver. El minidriver puede usar este búfer para registrar información privada. El minidriver establece el tamaño de este búfer en la estructura HW_INITIALIZATION_DATA que pasa cuando se registra a sí mismo a través de StreamClassRegisterMinidriver. El controlador de clase también pasa punteros a este búfer en el miembro HwDeviceExtension del HW_STREAM_REQUEST_BLOCK, la HW_TIME_CONTEXT y las estructuras PORT_CONFIGURATION_INFORMATION que pasa al minidriver.

StreamHeaderMediaSpecific

Especifica el tamaño en bytes de la extensión de encabezado por secuencia específica del medio.

StreamHeaderWorkspace

Especifica el tamaño del área de trabajo por secuencia-encabezado.

Allocator

Especifica TRUE si el controlador usa asignadores. La mayoría de los minidrivers establecen este valor en FALSE.

HwEventRoutine

Puntero a la rutina StrMiniEvent de la secuencia

Reserved[2]

Reservado para uso del sistema. No debe usarse.

Comentarios

El controlador de clase crea esta estructura para contener información sobre una secuencia determinada en el minidriver. Para cada solicitud específica de la secuencia, el controlador de clase pasa el HW_STREAM_OBJECT de la secuencia en el miembro StreamObject del bloque de solicitud de secuencia (vea HW_STREAM_REQUEST_BLOCK).

Cuando el controlador de clase abre la secuencia y emite la solicitud SRB_OPEN_STREAM a la rutina StrMiniReceiveDevicePacket del minidriver, el minidriver inicializa el objeto de secuencia.

Requisitos

Requisito Valor
Header strmini.h (incluya Strmini.h)

Consulte también

HW_CLOCK_OBJECT