AVC_FUNCTION_PEER_DO_LIST

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

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

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

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

Возвращаемое значение Описание
STATUS_INSUFFICIENT_RESOURCES Не удалось получить место для списка ссылок на объекты устройства.

Комментарии

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

typedef struct _AVC_MULTIFUNC_IRB {
  AVC_IRB  Common;
  union {
    .
    .
    .
    AVC_PEER_DO_LIST PeerList;
 .
    .
    .
  };
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;

Требования

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

Ввод AVC_MULTIFUNC_IRB

Common
Вложенная часть Function этого элемента должна иметь значение AVC_FUNCTION_PEER_DO_LIST из перечисления AVC_FUNCTION.

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

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

Этот код функции можно вызвать в IRQL >= DISPATCH_LEVEL.

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

AVC_MULTIFUNC_IRB

AVC_PEER_DO_LIST

AVC_FUNCTION

DEVICE_OBJECT

ObDereferenceObject

ExFreePool