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.