AVC_STREAM_REQUEST_BLOCK構造体 (avcstrm.h)
AVC_STREAM_REQUEST_BLOCK構造体は、avcstrm.sysによって処理される AV/C ストリーミング要求を記述します。
構文
typedef struct _AVC_STREAM_REQUEST_BLOCK {
ULONG SizeOfThisBlock;
ULONG Version;
AVCSTRM_FUNCTION Function;
ULONG Flags;
NTSTATUS Status;
PVOID AVCStreamContext;
PVOID Context1;
PVOID Context2;
PVOID Context3;
PVOID Context4;
ULONG Reserved[4];
union {
KSSTATE StreamState;
AVCSTRM_OPEN_STRUCT OpenStruct;
AVCSTRM_BUFFER_STRUCT BufferStruct;
} CommandData;
_tagCommandData _tagCommandData;
} AVC_STREAM_REQUEST_BLOCK, *PAVC_STREAM_REQUEST_BLOCK;
メンバーズ
SizeOfThisBlock
要求ブロックのサイズをバイト単位で指定します。 この値は直接設定しないでください。 代わりに、INIT_AVCSTRM_HEADER マクロを使用します。
Version
要求を処理 avcstrm.sys デバイス ドライバー インターフェイス (DDI) のバージョンを指定します。 この値は直接設定しないでください。 代わりに、INIT_AVCSTRM_HEADER マクロを使用します。
Function
サービスの要求 (関数コード) avcstrm.sys 示します。 これは、AVCSTRM_FUNCTION 列挙型の値である必要があります。 この値は直接設定しないでください。 代わりに、INIT_AVCSTRM_HEADER マクロを使用します。
Flags
特別なサービスまたは標準サービスからの逸脱を示す特別なフラグ。 これは現在使用されていません。
Status
この要求の最終的な状態。
AVCStreamContext
これはストリームのコンテキスト (ハンドル) です。 これを、AVCSTRM_OPEN 関数コードの NULL を に設定します。 その他の関数コードの場合は、以前の AVCSTRM_OPEN 呼び出しから取得した有効な値に設定する必要があります。
Context1
クライアントのコンテキスト ポインター。
Context2
クライアントのコンテキスト ポインター。
Context3
クライアントのコンテキスト ポインター。
Context4
クライアントのコンテキスト ポインター。
Reserved[4]
引っ込み思案。 使用しないでください。
CommandData
これは、サービスの avcstrm.sys に渡されるコマンド データの和集合です。
旗 | 形容 |
---|---|
StreamState | 指定したストリームの現在の状態を指定します。 これは、AVCSTRM_GET_STATE および AVCSTRM_SET_STATE 関数コードと共に使用されます。 |
OpenStruct | 開くストリームの説明を指定します。 これは、AVCSTRM_OPEN 関数コードで使用されます。 |
BufferStruct | 指定したストリームに対するデータの読み取りまたは書き込みに使用するバッファーの説明を指定します。 これは、AVCSTRM_READ および AVCSTRM_WRITE 関数コードと共に使用されます。 |
CommandData.StreamState
StreamState の KSSTATE メンバー定義します。
CommandData.OpenStruct
OpenStruct AVCSTRM_OPEN_STRUCT メンバーを定義します。
CommandData.BufferStruct
BufferStruct AVCSTRM_BUFFER_STRUCT メンバーを定義します。
_tagCommandData
_tagCommandData メンバー _tagCommandDataを定義します。
備考
AVC_STREAM_REQUEST_BLOCKは、サブユニット ドライバーが avcstrm.sysとインターフェイスするために使用される主な構造です。
すべての AV/C ストリーム要求は、この構造体によって記述されます。 この構造体は、サービスの avcstrm.sys に IRP の一部として渡されます。.
この構造体を使用するには、IRP の Irp->Parameters->Others.Argument1 メンバーを、サブユニット ドライバーがサービスに avcstrm.sys する要求 (機能) を記述する割り当て済みの初期化されたAVC_STREAM_REQUEST_BLOCKに設定します。
必要条件
要件 | 価値 |
---|---|
ヘッダー | avcstrm.h (Avcstrm.h を含む) |