Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La rutina IoGetDeviceInterfaceAlias devuelve la interfaz de dispositivo de alias de la instancia de interfaz de dispositivo especificada, si el alias existe.
Sintaxis
NTSTATUS IoGetDeviceInterfaceAlias(
[in] PUNICODE_STRING SymbolicLinkName,
[in] const GUID *AliasInterfaceClassGuid,
[out] PUNICODE_STRING AliasSymbolicLinkName
);
Parámetros
[in] SymbolicLinkName
Puntero al nombre de la instancia de interfaz de dispositivo para la que se va a recuperar un alias. El autor de la llamada normalmente recibió esta cadena de una llamada a ioGetDeviceInterfaces o en una estructura de notificación PnP.
[in] AliasInterfaceClassGuid
Puntero a un GUID que especifica la clase de interfaz del alias que se va a recuperar.
[out] AliasSymbolicLinkName
Especifica un puntero a un cadena Unicode NULL. Si se devuelve correctamente, AliasSymbolicLinkName.buffer apunta a una cadena que contiene el nombre del alias. El autor de la llamada debe liberar la cadena Unicode con RtlFreeUnicodeString cuando ya no sea necesario.
Valor devuelto
ioGetDeviceInterfaceAlias devuelve STATUS_SUCCESS si la llamada se realizó correctamente. Los posibles valores devueltos de error se describen a continuación.
| Código devuelto | Descripción |
|---|---|
|
Posiblemente indica que no hay ningún alias de la clase de interfaz especificada. |
|
Posiblemente indica que no hay ningún alias de la clase de interfaz especificada. |
|
Posiblemente indica un de SymbolicLinkName no válido o un AliasClassGuid no válido. |
Observaciones
Las interfaces de dispositivo se consideran alias si están expuestos por el mismo dispositivo subyacente y tienen cadenas de referencia de interfaz idénticas, pero son de clases de interfaz diferentes.
El parámetro SymbolicLinkName especifica una instancia de interfaz de dispositivo para un dispositivo determinado, que pertenece a una clase de interfaz determinada, con una cadena de referencia determinada. IoGetDeviceInterfaceAlias devuelve otra instancia de interfaz de dispositivo para el mismo dispositivo y cadena de referencia, pero de una clase de interfaz diferente, si existe.
Por ejemplo, el controlador de función para un volumen tolerante a errores podría registrar y establecer dos interfaces de dispositivo, una de las clases de interfaz de volumen tolerantes a errores y una de las clases de interfaz de volumen. Otro controlador podría llamar a IoGetDeviceInterfaceAlias con el vínculo simbólico para una de las interfaces y preguntar si existe la otra interfaz especificando su clase de interfaz.
Dos interfaces de dispositivo con cadenas de referencia NULL son alias si están expuestos por el mismo dispositivo subyacente y tienen GUID de clase de interfaz diferentes.
Los autores de llamadas de ioGetDeviceInterfaceAlias deben ejecutarse en IRQL = PASSIVE_LEVEL en el contexto de un subproceso del sistema.
Requisitos
| Requisito | Valor |
|---|---|
| cliente mínimo admitido | Disponible a partir de Windows 2000. |
| de la plataforma de destino de | Universal |
| encabezado de | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
| biblioteca de | NtosKrnl.lib |
| DLL de | NtosKrnl.exe |
| irQL | PASSIVE_LEVEL (consulte la sección Comentarios) |
| reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |