AVC_FUNCTION_GET_UNIQUE_ID
O código da função AVC_FUNCTION_GET_UNIQUE_ID obtém a ID exclusiva da unidade AV/C.
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 UniqueID da estrutura AVC_MULTIFUNC_IRB, conforme mostrado abaixo.
typedef struct _AVC_MULTIFUNC_IRB {
AVC_IRB Common;
union {
.
.
.
AVC_UNIQUE_ID UniqueID;
.
.
.
};
} AVC_MULTIFUNC_IRB, *PAVC_MULTIFUNC_IRB;
Os membros da estrutura AVC_UNIQUE_ID são mostrados abaixo:
typedef struct _AVC_UNIQUE_ID {
OUT GUID DeviceID;
} AVC_UNIQUE_ID, *PAVC_UNIQUE_ID;
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_UNIQUE_ID da enumeração AVC_FUNCTION.
Uniqueid
Especifica um GUID que representa a unidade como um todo. Todas as subunidades dentro da mesma unidade compartilham o mesmo GUID. Não há duas unidades que compartilhem o mesmo GUID.
Esse código de função não é compatível com instâncias virtuais do avc.sys.
O driver de subunidade usará essa função se precisar relatar o GUID do dispositivo a um aplicativo controlador (um aplicativo que deve saber qual das muitas instâncias do driver de subunidade pertence à mesma unidade) ou se está criando suas próprias estruturas AVCPRECONNECTINFO para plugs externos.
Isso deve ser chamado em IRQL = PASSIVE_LEVEL.