Поделиться через


AVC_FUNCTION_GET_PIN_DESCRIPTOR

Код функции AVC_FUNCTION_GET_PIN_DESCRIPTOR получает дескриптор пина для каждого идентификатора контакта (смещение от нуля).

Блок состояния ввода-вывода

В случае успешного выполнения драйвер протокола AV/C устанавливает для Irp-IoStatus.Status> значение STATUS_SUCCESS.

Возможные другие возвращаемые значения:

Возвращаемое значение Описание
STATUS_TIMEOUT Запрос был сделан, но ответ не получен до завершения обработки времени ожидания и повторных попыток.
STATUS_REQUEST_ABORTED Немедленно прерывается, когда состояние завершения IRP STATUS_REQUEST_ABORTED. Это означает, что устройство было удалено или больше не доступно в шине 1394.
СТАТУС_* Любой другой код возврата указывает на то, что произошла ошибка или предупреждение, которые находились за пределами область протокола AV/C.

Комментарии

Эта функция использует элемент PinDescriptor структуры AVC_MULTIFUNC_IRB, как показано ниже.

typedef struct _AVC_MULTIFUNC_IRB {
  AVC_IRB  Common;
  union {
    .
    .
    .
    AVC_PIN_DESCRIPTOR PinDescriptor;
 .
    .
    .
  };
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;

Требования

Заголовки: Объявлено в avc.h. Включите avc.h.

Ввод AVC_MULTIFUNC_IRB

Common
Подмембер функции этого элемента должен иметь значение AVC_FUNCTION_GET_PIN_DESCRIPTOR из перечисления AVC_FUNCTION.

PinDescriptor
Указывает описание контакта на устройстве подсоединения AV/C.

Этот код функции не поддерживается виртуальными экземплярами avc.sys.

Помимо дескриптора закрепления, эта функция может также возвращать адрес обработчика пересечения и непрозрачное значение контекста, связанное с обработчиком пересечения. Если элемент обработчика пересечения имеет значение NULL, драйвер подсоединения должен предоставить обработчик пересечения. Если элемент обработчика пересечения не равен NULL, предоставляется обработчик пересечения, и драйвер может использовать его.

Avc.sys никогда не обеспечивает пересечение данных, но драйвер фильтра (например, avcstrm.sys) заполняет его по мере выполнения запроса в стеке.

Он должен вызываться в IRQL = PASSIVE_LEVEL.

См. также раздел

AVC_MULTIFUNC_IRB

AVC_PIN_DESCRIPTOR

AVC_FUNCTION

KSPIN_DESCRIPTOR

AV/C Intersect Handler