次の方法で共有


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_BLOCKHW_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 を含む)

関連項目

HW_CLOCK_OBJECT