HW_STREAM_OBJECT構造体 (strmini.h)
HW_STREAM_OBJECTミニドライバー ストリームのインスタンスについて説明します。
構文
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;
メンバー
SizeOfThisPacket
この構造体のサイズをバイト単位で指定します。
StreamNumber
ミニドライバーの HW_STREAM_DESCRIPTOR 構造体内のストリームのオフセットを指定します。
HwStreamExtension
ストリーム拡張機能を指します。このストリームに関する個人情報を保持するために使用するミニドライバー用のクラス ドライバーによって割り当てられたバッファー。 ミニドライバーは、ストリーム クラス ドライバーに自身を登録するときに渡 すHW_INITIALIZATION_DATA 構造体内のバッファーのサイズを設定します。
ReceiveDataPacket
ストリームの StrMiniReceiveStreamDataPacket ルーチンへのポインター。
ReceiveControlPacket
ストリームの StrMiniReceiveStreamControlPacket ルーチンへのポインター。
HwClockObject
ストリームのクロック オブジェクトを格納します。 詳細については 、「HW_CLOCK_OBJECT 」を参照してください。
Dma
TRUE の場合、デバイスは DMA を使用してこのストリームのデータを転送します。
Pio
TRUE の場合、デバイスはプログラムされた I/O を使用してこのストリームのデータを転送します。 Pio メンバーと Dma メンバーの両方が TRUE である可能性があることに注意してください。
HwDeviceExtension
ミニドライバーのデバイス拡張機能へのポインター。 ミニドライバーは、このバッファーを使用して個人情報を記録できます。 ミニドライバーは、StreamClassRegisterMinidriver 経由で自身を登録するときに渡すHW_INITIALIZATION_DATA構造体内のこのバッファーのサイズを設定します。 クラス ドライバーは、ミニドライバーに渡すHW_STREAM_REQUEST_BLOCK、HW_TIME_CONTEXT、およびPORT_CONFIGURATION_INFORMATION構造体の HwDeviceExtension メンバー内のこのバッファーへのポインターも渡します。
StreamHeaderMediaSpecific
メディア固有のストリームごとのヘッダー拡張機能のサイズをバイト単位で指定します。
StreamHeaderWorkspace
ストリーム ヘッダーごとのワークスペースのサイズを指定します。
Allocator
ドライバーがアロケーターを使用する場合は TRUE を 指定します。 ほとんどのミニドライバーは、この値を FALSE に設定します。
HwEventRoutine
ストリームの StrMiniEvent ルーチンへのポインター
Reserved[2]
システムで使用するために予約されています。 使用しないでください。
注釈
この構造体は、ミニドライバー内の特定のストリームに関する情報を保持するクラス ドライバーによって作成されます。 ストリーム固有の要求ごとに、クラス ドライバーはストリーム要求ブロックの StreamObject メンバー内のストリームのHW_STREAM_OBJECTを渡します ( 「HW_STREAM_REQUEST_BLOCK」を参照)。
クラス ドライバーがストリームを開き、ミニドライバーの StrMiniReceiveDevicePacket ルーチンにSRB_OPEN_STREAM要求を発行すると、ミニドライバーはストリーム オブジェクトを初期化します。
要件
要件 | 値 |
---|---|
Header | strmini.h (Strmini.h を含む) |