Compartir a través de


AVC_FUNCTION_PEER_DO_LIST

El código de función AVC_FUNCTION_PEER_DO_LIST busca todas las instancias de avc.sys no virtuales.

Bloque de estado de entrada/salida

Si se ejecuta correctamente, el controlador de protocolo AV/C establece Irp-IoStatus.Status> en STATUS_SUCCESS.

Otros valores devueltos posibles son:

Valor devuelto Descripción
STATUS_INSUFFICIENT_RESOURCES No se pudo obtener espacio para la lista de referencias de objetos de dispositivo.

Comentarios

Esta función usa el miembro PeerList de la estructura AVC_MULTIFUNC_IRB, como se muestra a continuación.

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

Requisitos

Encabezados: Declarado en avc.h. Incluya avc.h.

entrada de AVC_MULTIFUNC_IRB

Común
El submembrado Function de este miembro debe establecerse en AVC_FUNCTION_PEER_DO_LIST de la enumeración AVC_FUNCTION.

PeerList
Especifica una lista de todas las instancias no virtuales (del mismo nivel) de avc.sys.

El autor de la llamada puede enviar GUID_AVC_CLASS solicitudes de interfaz de dispositivo a través de cualquiera de los objetos devueltos en la lista de objetos. El autor de la llamada debe liberar las referencias a estos objetos (a través de ObDereferenceObject) y liberar la memoria que contiene la lista (a través de ExFreePool) cuando termine.

Se puede llamar a este código de función en IRQL >= DISPATCH_LEVEL.

Consulte también

AVC_MULTIFUNC_IRB

AVC_PEER_DO_LIST

AVC_FUNCTION

DEVICE_OBJECT

ObDereferenceObject

ExFreePool