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,然后重试。

注释

此函数使用 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