AVC_FUNCTION_GET_PIN_DESCRIPTOR

O código de função AVC_FUNCTION_GET_PIN_DESCRIPTOR obtém o descritor de pin para cada ID de pin (deslocamento de zero).

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_TIMEOUT A solicitação foi feita, mas nenhuma resposta foi recebida antes de todo o tempo limite e o processamento de repetição foi concluído.
STATUS_REQUEST_ABORTED Anula imediatamente quando a status de conclusão do IRP é STATUS_REQUEST_ABORTED. Isso indica que o dispositivo foi removido ou não está mais disponível no barramento 1394.
STATUS_* Qualquer outro código de retorno indica que ocorreu um erro ou aviso que estava além do escopo do protocolo AV/C.

Comentários

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

typedef struct _AVC_MULTIFUNC_IRB {
  AVC_IRB  Common;
  union {
    .
    .
    .
    AVC_PIN_DESCRIPTOR PinDescriptor;
 .
    .
    .
  };
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;

Requisitos

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

Entrada AVC_MULTIFUNC_IRB

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

PinDescriptor
Especifica a descrição de um pino em um dispositivo de subunidade AV/C.

Esse código de função não é compatível com instâncias virtuais do avc.sys.

Além do descritor de pin, essa função também pode retornar o endereço de um manipulador intersect e um valor de contexto opaco associado ao manipulador intersect. Se o membro do manipulador intersect for NULL, o driver de subunidade deverá fornecer um manipulador intersect. Se o membro do manipulador intersect não for NULL, um manipulador intersect será fornecido e o driver poderá usá-lo.

Avc.sys nunca fornece uma interseção de dados, mas um driver de filtro (por exemplo, avcstrm.sys) o preenche à medida que a solicitação está sendo concluída de volta pela pilha.

Isso deve ser chamado em IRQL = PASSIVE_LEVEL.

Confira também

AVC_MULTIFUNC_IRB

AVC_PIN_DESCRIPTOR

AVC_FUNCTION

KSPIN_DESCRIPTOR

Manipulador intersect AV/C