次の方法で共有


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 で呼び出される場合があります。

関連項目

AVC_MULTIFUNC_IRB

AVC_PEER_DO_LOCATOR

AVC_FUNCTION

ObDereferenceObject