AVC_STREAM_REQUEST_BLOCK 構造体 (avcstrm.h)
AVC_STREAM_REQUEST_BLOCK構造体は、 によって処理される AV/C ストリーミング要求 avcstrm.sys記述します。
構文
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
KSSTATE メンバー StreamState を定義します。
CommandData.OpenStruct
AVCSTRM_OPEN_STRUCT メンバー OpenStruct を定義します。
CommandData.BufferStruct
AVCSTRM_BUFFER_STRUCT メンバー BufferStruct を定義します。
_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に設定します。
要件
要件 | 値 |
---|---|
Header | avcstrm.h (Avcstrm.h を含む) |