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要求を発行すると、ミニドライバーはストリーム オブジェクトを初期化します。
必要条件
要件 | 価値 |
---|---|
ヘッダー | strmini.h (Strmini.h を含む) |