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.