AVC_FUNCTION_FIND_PEER_DO

O código da função AVC_FUNCTION_FIND_PEER_DO localiza uma instância deavc.sysnão virtual.

Bloco de Status de E/S

Se tiver êxito, o driver de protocolo AV/C definirá Irp-IoStatus.Status> como STATUS_SUCCESS.

Outros valores retornados possíveis incluem:

Valor retornado Descrição
STATUS_UNSUCCESSFUL Uma instância não virtual de avc.sys não foi encontrada
STATUS_INVALID_GENERATION Ocorreu uma redefinição de barramento antes que a referência do Objeto de Dispositivo pudesse ser encontrada. Obtenha um novo NodeAddress e tente novamente.

Comentários

Essa função usa o membro PeerLocator da estrutura AVC_MULTIFUNC_IRB, conforme mostrado abaixo.

typedef struct _AVC_MULTIFUNC_IRB {
  AVC_IRB  Common;
  union {
    .
    .
    .
    AVC_PEER_DO_LOCATOR PeerLocator;
 .
    .
    .
  };
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;

Requisitos

Cabeçalhos: Declarado em avc.h. Inclua avc.h.

Entrada AVC_MULTIFUNC_IRB

Comum
O submembro Function desse membro deve ser definido como AVC_FUNCTION_FIND_PEER_DO da enumeração AVC_FUNCTION.

PeerLocator
Especifica as instâncias não virtuais (par) de avc.sys.

Essa função localiza uma instância deavc.sysnão virtual de acordo com o endereço do nó do dispositivo que ele representa. Se uma instância não for encontrada, o IRP será concluído com um status de STATUS_UNSUCCESSFUL. Depois que uma instância estiver localizada, o chamador poderá enviar qualquer solicitação da Interface do Dispositivo GUID_AVC_CLASS por meio do objeto . O chamador deve liberar a referência a esse objeto (por meio de ObDereferenceObject) quando terminar com ele.

Esse código de função pode ser chamado em IRQL <= DISPATCH_LEVEL.

Confira também

AVC_MULTIFUNC_IRB

AVC_PEER_DO_LOCATOR

AVC_FUNCTION

ObDereferenceObject