Compartir a través de


AVC_FUNCTION_FIND_PEER_DO

El código de función AVC_FUNCTION_FIND_PEER_DO busca una instancia de avc.sys no virtual.

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_UNSUCCESSFUL No se encontró una instancia no virtual de avc.sys
STATUS_INVALID_GENERATION Se produjo un restablecimiento de bus antes de que se encontrara la referencia del objeto de dispositivo. Obtenga un nuevo NodeAddress e inténtelo de nuevo.

Comentarios

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

typedef struct _AVC_MULTIFUNC_IRB {
  AVC_IRB  Common;
  union {
    .
    .
    .
    AVC_PEER_DO_LOCATOR PeerLocator;
 .
    .
    .
  };
} 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_FIND_PEER_DO de la enumeración AVC_FUNCTION.

PeerLocator
Especifica las instancias no virtuales (del mismo nivel) de avc.sys.

Esta función busca una instancia de avc.sys no virtual según la dirección del nodo del dispositivo que representa. Si no se encuentra una instancia, el IRP se completa con un estado de STATUS_UNSUCCESSFUL. Una vez que se encuentra una instancia, el autor de la llamada puede enviar cualquier solicitud de interfaz de dispositivo GUID_AVC_CLASS a través del objeto . El autor de la llamada debe liberar la referencia a este objeto (a través de ObDereferenceObject) cuando termine con él.

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

Consulte también

AVC_MULTIFUNC_IRB

AVC_PEER_DO_LOCATOR

AVC_FUNCTION

ObDereferenceObject