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 调用。

另请参阅

AVC_MULTIFUNC_IRB

AVC_UNIQUE_ID

AVCPRECONNECTINFO

AVC_FUNCTION