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 调用此函数代码。