structure HW_STREAM_OBJECT (strmini.h)
HW_STREAM_OBJECT décrit une instance d’un flux minidriver.
Syntaxe
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;
Membres
SizeOfThisPacket
Spécifie la taille, en octets, de cette structure.
StreamNumber
Spécifie le décalage du flux dans la structure HW_STREAM_DESCRIPTOR du minidriver.
HwStreamExtension
Pointe vers l’extension de flux, une mémoire tampon allouée par le pilote de classe pour le minidriver à utiliser pour contenir des informations privées sur ce flux. Le minidriver définit la taille de la mémoire tampon dans la structure HW_INITIALIZATION_DATA qu’il transmet lorsqu’il s’inscrit auprès du pilote de classe de flux.
ReceiveDataPacket
Pointeur vers la routine StrMiniReceiveStreamDataPacket du flux.
ReceiveControlPacket
Pointeur vers la routine StrMiniReceiveStreamControlPacket du flux.
HwClockObject
Contient l’objet horloge du flux. Pour plus d’informations, consultez HW_CLOCK_OBJECT.
Dma
Si TRUE, l’appareil utilise DMA pour transférer des données pour ce flux.
Pio
Si TRUE, l’appareil utilise des E/S programmées pour transférer des données pour ce flux. Notez que les membres Pio et Dma peuvent être TRUE.
HwDeviceExtension
Pointeur vers l’extension d’appareil du minidriver. Le minidriver peut utiliser cette mémoire tampon pour enregistrer des informations privées. Le minidriver définit la taille de cette mémoire tampon dans la structure HW_INITIALIZATION_DATA qu’il transmet lorsqu’il s’inscrit via StreamClassRegisterMinidriver. Le pilote de classe passe également des pointeurs vers cette mémoire tampon dans le HwDeviceExtension membre du HW_STREAM_REQUEST_BLOCK, HW_TIME_CONTEXTet PORT_CONFIGURATION_INFORMATION structures qu’il passe au minidriver.
StreamHeaderMediaSpecific
Spécifie la taille en octets de l’extension d’en-tête spécifique au média par flux.
StreamHeaderWorkspace
Spécifie la taille de l’espace de travail par flux-en-tête.
Allocator
Spécifie TRUE si le pilote utilise des allocateurs. La plupart des minidrivers définissent cette valeur sur FALSE.
HwEventRoutine
Pointeur vers la routine StrMiniEvent du flux
Reserved[2]
Réservé à l’utilisation du système. N’utilisez pas.
Remarques
Cette structure est créée par le pilote de classe pour contenir des informations sur un flux particulier dans le minidriver. Pour chaque requête spécifique au flux, le pilote de classe transmet l’HW_STREAM_OBJECT du flux dans le Membre streamObject du bloc de requête de flux (voir HW_STREAM_REQUEST_BLOCK).
Lorsque le pilote de classe ouvre le flux et émet la demande de SRB_OPEN_STREAM à l'strMiniReceiveDevicePacket routine, le minidriver initialise l’objet de flux.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | strmini.h (include Strmini.h) |