Função SetupDiGetDeviceInterfaceAlias (setupapi.h)
A função SetupDiGetDeviceInterfaceAlias retorna um alias de uma interface de dispositivo especificada.
Sintaxe
WINSETUPAPI BOOL SetupDiGetDeviceInterfaceAlias(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
[in] const GUID *AliasInterfaceClassGuid,
[out] PSP_DEVICE_INTERFACE_DATA AliasDeviceInterfaceData
);
Parâmetros
[in] DeviceInfoSet
Um ponteiro para o conjunto de informações do dispositivo que contém a interface do dispositivo para a qual recuperar um alias. Esse identificador normalmente é retornado por SetupDiGetClassDevs.
[in] DeviceInterfaceData
Um ponteiro para uma estrutura SP_DEVICE_INTERFACE_DATA que especifica a interface do dispositivo em DeviceInfoSet para a qual recuperar um alias. Normalmente, esse ponteiro é retornado por SetupDiEnumDeviceInterfaces.
[in] AliasInterfaceClassGuid
Um ponteiro para um GUID que especifica a classe de interface do alias a ser recuperado.
[out] AliasDeviceInterfaceData
Um ponteiro para um buffer alocado pelo chamador que contém, no retorno bem-sucedido, uma estrutura de SP_DEVICE_INTERFACE_DATA concluída que identifica o alias solicitado. O chamador deve definir AliasDeviceInterfaceData.cbSize como sizeof(SP_DEVICE_INTERFACE_DATA) antes de chamar essa função.
Retornar valor
SetupDiGetDeviceInterfaceAlias retornará TRUE se a função for concluída sem erro. Se a função for concluída com um erro, FALSE será retornado e o código de erro para a falha poderá ser recuperado chamando GetLastError.
Possíveis erros retornados por GetLastError são listados na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
DispositivoInfoSet inválido ou parâmetro DeviceInterfaceData inválido. |
|
Não há nenhum alias da classe AliasInterfaceClassGuid para a interface do dispositivo especificada. |
|
Buffer AliasDeviceInterfaceData inválido. |
Comentários
As interfaces de dispositivo são consideradas aliases se forem de classes de interface diferentes, mas tiverem suporte no mesmo dispositivo e tiverem cadeias de caracteres de referência idênticas.
SetupDiGetDeviceInterfaceAlias pode ser usado para localizar um dispositivo que expõe mais de uma interface. Por exemplo, considere um disco que pode fazer parte de um volume tolerante a falhas e pode conter dados criptografados. O driver de função para o dispositivo de disco pode registrar uma interface de volume tolerante a falhas e uma interface de volume criptografado. Essas interfaces são aliases de interface do dispositivo se o driver de função as registrar com cadeias de caracteres de referência idênticas e se referirem ao mesmo dispositivo. (As cadeias de caracteres de referência provavelmente serão NULL e, portanto, são iguais.)
Para localizar um dispositivo de várias interfaces, primeiro localize todos os dispositivos disponíveis que expõem uma das interfaces, como a interface de volume tolerante a falhas, usando SetupDiGetClassDevs e SetupDiEnumDeviceInterfaces. Em seguida, passe um dispositivo com a primeira interface (volume tolerante a falhas) para SetupDiGetDeviceInterfaceAlias e solicite um alias da outra classe de interface (encrypted-volume).
Se o alias solicitado existir, mas o buffer AliasDeviceInterfaceData fornecido pelo chamador for inválido, essa função adicionará com êxito o elemento de interface do dispositivo a DevInfoSet , mas retornará FALSE para o valor retornado. Nesse caso, GetLastError retorna ERROR_INVALID_USER_BUFFER.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Microsoft Windows 2000 e versões posteriores do Windows. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | setupapi.h (inclua Setupapi.h) |
Biblioteca | Setupapi.lib |
DLL | Setupapi.dll |