次の方法で共有


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

関連項目

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