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 NULL Unicode. No retorno bem-sucedido, AliasSymbolicLinkName.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.
Valor de retorno
IoGetDeviceInterfaceAlias retornará STATUS_SUCCESS se a chamada tiver sido bem-sucedida. Os valores de retorno de erro possíveis 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 AliasClassGuidinválido. |
Observações
As interfaces de 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 para uma das interfaces e perguntar se a outra interface existe especificando sua classe de interface.
Duas interfaces de dispositivo com cadeias 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 no IRQL = PASSIVE_LEVEL no contexto de um thread do sistema.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows 2000. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (consulte a seção Comentários) |
regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |