AVC_FUNCTION_GET_UNIQUE_ID
Код функции AVC_FUNCTION_GET_UNIQUE_ID получает уникальный идентификатор единицы AV/C.
Блок состояния ввода-вывода
В случае успешного выполнения драйвер протокола AV/C устанавливает для Irp-IoStatus.Status> значение STATUS_SUCCESS.
Возможные другие возвращаемые значения:
Возвращаемое значение | Описание |
---|---|
STATUS_TIMEOUT | Запрос был сделан, но ответ не получен до завершения обработки времени ожидания и повторных попыток. |
STATUS_REQUEST_ABORTED | Немедленно прерывается, когда состояние завершения IRP STATUS_REQUEST_ABORTED. Это означает, что устройство было удалено или больше не доступно в шине 1394. |
СТАТУС_* | Любой другой код возврата указывает на то, что произошла ошибка или предупреждение, которые находились за пределами область протокола AV/C. |
Комментарии
Эта функция использует элемент UniqueID структуры AVC_MULTIFUNC_IRB, как показано ниже.
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
Common
Вложенная часть Функции этого элемента должна иметь значение AVC_FUNCTION_GET_UNIQUE_ID из перечисления AVC_FUNCTION.
Uniqueid
Указывает GUID, представляющий единицу в целом. Все подсоединицы в одной единице имеют один и тот же GUID. Нет двух единиц с одинаковым ИДЕНТИФИКАТОРом GUID.
Этот код функции не поддерживается виртуальными экземплярами avc.sys.
Драйвер подсоединения использует эту функцию, если он должен сообщить GUID устройства управляющее приложение (приложению, которое должно знать, какой из множества экземпляров драйвера подсоединения принадлежит к одной единице) или если оно создает собственные структуры AVCPRECONNECTINFO для внешних подключаемых модулей.
Он должен вызываться в IRQL = PASSIVE_LEVEL.