Função IoGetDeviceInterfaceAlias (wdm.h)
A rotina IoGetDeviceInterfaceAlias retorna a interface do dispositivo de alias da instância de interface do dispositivo especificada, se o alias existir.
Sintaxe
NTSTATUS IoGetDeviceInterfaceAlias(
[in] PUNICODE_STRING SymbolicLinkName,
[in] const GUID *AliasInterfaceClassGuid,
[out] PUNICODE_STRING AliasSymbolicLinkName
);
Parâmetros
[in] SymbolicLinkName
Ponteiro para o nome da instância da interface do dispositivo para a qual recuperar um alias. O chamador normalmente recebeu essa cadeia de caracteres de uma chamada para IoGetDeviceInterfaces ou em uma estrutura de notificação PnP.
[in] AliasInterfaceClassGuid
Ponteiro para um GUID que especifica a classe de interface do alias a ser recuperado.
[out] AliasSymbolicLinkName
Especifica um ponteiro para uma cadeia de caracteres Unicode NULL . No retorno bem-sucedido, AliasSymbolicLinkName. O buffer aponta para uma cadeia de caracteres que contém o nome do alias. O chamador deve liberar a cadeia de caracteres Unicode com RtlFreeUnicodeString quando ela não for mais necessária.
Retornar valor
IoGetDeviceInterfaceAlias retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Possíveis valores retornados de erro são descritos a seguir.
Código de retorno | Descrição |
---|---|
|
Possivelmente indica que não há nenhum alias da classe de interface especificada. |
|
Possivelmente indica que não há nenhum alias da classe de interface especificada. |
|
Possivelmente indica um SymbolicLinkName inválido ou um AliasClassGuid inválido. |
Comentários
As interfaces do dispositivo serão consideradas aliases se forem expostas pelo mesmo dispositivo subjacente e tiverem cadeias de caracteres de referência de interface idênticas, mas forem de classes de interface diferentes.
O parâmetro SymbolicLinkName especifica uma instância de interface do dispositivo para um dispositivo específico, pertencente a uma classe de interface específica, com uma cadeia de caracteres de referência específica. IoGetDeviceInterfaceAlias retorna outra instância de interface do dispositivo para o mesmo dispositivo e cadeia de caracteres de referência, mas de uma classe de interface diferente, se existir.
Por exemplo, o driver de função para um volume tolerante a falhas pode registrar e definir duas interfaces de dispositivo, uma da classe de interface de volume tolerante a falhas e uma da classe de interface de volume. Outro driver poderia chamar IoGetDeviceInterfaceAlias com o link simbólico de uma das interfaces e perguntar se a outra interface existe especificando sua classe de interface.
Duas interfaces de dispositivo com cadeias de caracteres de referência NULL são aliases se forem expostas pelo mesmo dispositivo subjacente e tiverem GUIDs de classe de interface diferentes.
Os chamadores de IoGetDeviceInterfaceAlias devem estar em execução em IRQL = PASSIVE_LEVEL no contexto de um thread do sistema.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 2000. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (consulte a seção Comentários) |
Regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |