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


AVC_FUNCTION_FIND_PEER_DO

Код функции AVC_FUNCTION_FIND_PEER_DO находит невиртуальный экземплярavc.sys .

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

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

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

Возвращаемое значение Описание
STATUS_UNSUCCESSFUL Невиртуальный экземпляр avc.sys не найден
STATUS_INVALID_GENERATION Сброс шины произошел до того, как можно было найти ссылку на объект устройства. Получите новый NodeAddress и повторите попытку.

Комментарии

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

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

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

PeerLocator
Указывает невиртуальные (одноранговые) экземпляры avc.sys.

Эта функция находит невиртуальный экземплярavc.sys в соответствии с адресом узла устройства, которое она представляет. Если экземпляр не найден, IRP завершается с состоянием STATUS_UNSUCCESSFUL. После того как экземпляр будет найден, вызывающий объект может отправлять любые запросы интерфейса устройства GUID_AVC_CLASS через объект . Вызывающий объект должен освободить ссылку на этот объект (через ObDereferenceObject) после завершения работы с ним.

Этот код функции можно вызвать по адресу IRQL <= DISPATCH_LEVEL.

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

AVC_MULTIFUNC_IRB

AVC_PEER_DO_LOCATOR

AVC_FUNCTION

ObDereferenceObject