AVC_FUNCTION_FIND_PEER_DO
AVC_FUNCTION_FIND_PEER_DO 関数コードは、非仮想 avc.sys インスタンスを検索します。
I/O ステータス ブロック
成功した場合、AV/C プロトコル ドライバーは Irp->IoStatus.Status をSTATUS_SUCCESSに設定します。
その他の戻り値は次のとおりです
戻り値 | 説明 |
---|---|
STATUS_UNSUCCESSFUL | avc.sysの非仮想インスタンスが見つかりませんでした |
STATUS_INVALID_GENERATION | デバイス オブジェクト参照が見つかる前にバスのリセットが発生しました。 新しい NodeAddress を取得して、もう一度やり直してください。 |
Comments
この関数は、次に示すように、AVC_MULTIFUNC_IRB構造体の PeerLocator メンバーを使用します。
typedef struct _AVC_MULTIFUNC_IRB {
AVC_IRB Common;
union {
.
.
.
AVC_PEER_DO_LOCATOR PeerLocator;
.
.
.
};
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;
要件
ヘッダー:avc.h で宣言されています。 avc.h を含めます。
AVC_MULTIFUNC_IRB入力
通常
このメンバーの Function サブメンバーは、AVC_FUNCTION列挙体から AVC_FUNCTION_FIND_PEER_DO に設定する必要があります。
PeerLocator
avc.sysの非仮想 (ピア) インスタンスを指定します。
この関数は、それが表すデバイスのノード アドレスに従って、非仮想 avc.sys インスタンスを検索します。 インスタンスが見つからない場合、IRP は STATUS_UNSUCCESSFUL の状態で完了します。 インスタンスが見つかると、呼び出し元は、 オブジェクトを介してデバイス インターフェイス要求GUID_AVC_CLASS送信できます。 呼び出し元は、このオブジェクトの終了時にこのオブジェクトへの参照を ( ObDereferenceObject を介して) 解放する必要があります。
この関数コードは、IRQL <= DISPATCH_LEVEL で呼び出される場合があります。