AVC_FUNCTION_GET_PIN_DESCRIPTOR
AVC_FUNCTION_GET_PIN_DESCRIPTOR 関数コードは、各ピン ID (ゼロからのオフセット) のピン記述子を取得します。
I/O ステータス ブロック
成功した場合、AV/C プロトコル ドライバーは Irp->IoStatus.Status をSTATUS_SUCCESSに設定します。
その他の戻り値は次のとおりです
戻り値 | 説明 |
---|---|
STATUS_TIMEOUT | 要求は行われましたが、すべてのタイムアウトと再試行処理が完了する前に応答は受信されませんでした。 |
STATUS_REQUEST_ABORTED | IRP の完了状態が STATUS_REQUEST_ABORTED されると、すぐに中止します。 これは、デバイスが削除されたか、1394 バスで使用できなくなったことを示します。 |
状態_* | その他のリターン コードは、AV/C プロトコルの範囲外のエラーまたは警告が発生したことを示します。 |
Comments
この関数は、次に示すように、AVC_MULTIFUNC_IRB構造体の PinDescriptor メンバーを使用します。
typedef struct _AVC_MULTIFUNC_IRB {
AVC_IRB Common;
union {
.
.
.
AVC_PIN_DESCRIPTOR PinDescriptor;
.
.
.
};
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;
要件
ヘッダー:avc.h で宣言されています。 avc.h を含めます。
AVC_MULTIFUNC_IRB入力
通常
このメンバーの Function サブメンバーは、AVC_FUNCTION列挙体から AVC_FUNCTION_GET_PIN_DESCRIPTOR に設定する必要があります。
PinDescriptor
AV/C サブユニット デバイス上のピンの説明を指定します。
この関数コードは、avc.sysの仮想インスタンスではサポートされていません。
ピン記述子に加えて、この関数は、交差ハンドラーのアドレスと、交差ハンドラーに関連付けられている不透明なコンテキスト値を返すこともできます。 intersect ハンドラー メンバーが NULL の場合、サブユニット ドライバーは交差ハンドラーを提供する必要があります。 交差ハンドラー メンバーが NULL でない場合は、交差ハンドラーが提供され、ドライバーがそれを使用できます。
Avc.sys はデータ交差を提供しませんが、要求がスタック経由でバックアップを完了すると、フィルター ドライバー ( avcstrm.sysなど) によって入力されます。
これは IRQL = PASSIVE_LEVELで呼び出す必要があります。