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

こちらもご覧ください

AVCSTRM_ABORT_STREAMING

AVCSTRM_BUFFER_STRUCT

AVCSTRM_CLOSE

AVCSTRM_FUNCTION

AVCSTRM_GET_PROPERTY

AVCSTRM_GET_STATE

AVCSTRM_OPEN

AVCSTRM_OPEN_STRUCT

AVCSTRM_READ

AVCSTRM_SET_PROPERTY

AVCSTRM_SET_STATE

AVCSTRM_WRITE

KSSTATE