AVC_FUNCTION_GET_UNIQUE_ID
AVC_FUNCTION_GET_UNIQUE_ID函数代码获取 AV/C 单元的唯一 ID。
I/O 状态块
如果成功,AV/C 协议驱动程序会将 Irp-IoStatus.Status> 设置为 STATUS_SUCCESS。
可能的其他返回值包括:
返回值 | 说明 |
---|---|
STATUS_TIMEOUT | 发出请求,但在所有超时和重试处理完成之前未收到任何响应。 |
STATUS_REQUEST_ABORTED | STATUS_REQUEST_ABORTED IRP 完成状态时立即中止。 这表示设备已被删除或不再在 1394 总线上可用。 |
地位_* | 任何其他返回代码指示发生了超出 AV/C 协议范围的错误或警告。 |
注释
此函数使用 AVC_MULTIFUNC_IRB 结构的 UniqueID 成员,如下所示。
typedef struct _AVC_MULTIFUNC_IRB {
AVC_IRB Common;
union {
.
.
.
AVC_UNIQUE_ID UniqueID;
.
.
.
};
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;
AVC_UNIQUE_ID结构的成员如下所示:
typedef struct _AVC_UNIQUE_ID {
OUT GUID DeviceID;
} AVC_UNIQUE_ID, *PAVC_UNIQUE_ID;
要求
头: 在 avc.h 中声明。 包括 avc.h。
AVC_MULTIFUNC_IRB输入
通用
此成员的 Function 子成员必须设置为 从AVC_FUNCTION 枚举AVC_FUNCTION_GET_UNIQUE_ID。
UniqueID
指定表示单元作为一个整体的 GUID。 同一单元中的所有子单元共享相同的 GUID。 没有两个单元共享相同的 GUID。
avc.sys的虚拟实例不支持此函数代码。
如果子单元驱动程序必须向控制应用程序报告设备 GUID, (应用程序必须知道哪些子单元驱动程序实例属于同一单元) ,或者它正在为外部插头构建自己的 AVCPRECONNECTINFO 结构,则子单元驱动程序使用此函数。
必须在 IRQL = PASSIVE_LEVEL 调用。