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) |