Función DiShowUpdateDevice (newdev.h)
La función DiShowUpdateDevice muestra el Asistente para actualizaciones de hardware para un dispositivo especificado.
Sintaxis
BOOL DiShowUpdateDevice(
[in, optional] HWND hwndParent,
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD Flags,
[out, optional] PBOOL NeedReboot
);
Parámetros
[in, optional] hwndParent
Identificador de la ventana de nivel superior que DiShowUpdateDevice usa para mostrar los componentes de la interfaz de usuario asociados a la actualización del dispositivo especificado. Este parámetro es opcional y se puede establecer en NULL.
[in] DeviceInfoSet
Identificador del conjunto de información del dispositivo que contiene un elemento de información del dispositivo que representa el dispositivo para el que se va a mostrar el Asistente para actualizaciones de hardware.
[in] DeviceInfoData
Puntero a una estructura SP_DEVINFO_DATA que representa el dispositivo para el que se va a mostrar el Asistente para actualizaciones de hardware.
[in] Flags
Este parámetro debe establecerse en cero.
[out, optional] NeedReboot
Puntero a un valor de tipo BOOL que DiShowUpdateDevice establece para indicar si se requiere un reinicio del sistema para completar la actualización del controlador. Este parámetro es opcional y puede ser NULL. Si se proporciona el parámetro y se requiere un reinicio del sistema para completar la actualización del controlador, DiShowUpdateDevice establece el valor en TRUE. En este caso, el autor de la llamada debe pedir al usuario que reinicie el sistema. Si se proporciona este parámetro y no es necesario reiniciar el sistema para completar la instalación, DiShowUpdateDevice establece el valor en FALSE. Si el parámetro es NULL y se requiere un reinicio del sistema para completar la actualización del controlador, DiShowUpdateDevice muestra un cuadro de diálogo de reinicio del sistema. Para obtener más información sobre este parámetro, vea la siguiente sección Comentarios .
Valor devuelto
DiShowUpdateDevice devuelve TRUE si el Asistente para actualizaciones de hardware actualizó correctamente el controlador para el dispositivo especificado. De lo contrario, DiShowUpdateDevice devuelve FALSE y el error registrado se puede recuperar realizando una llamada a GetLastError. Algunos de los valores de error más comunes que GetLastError podrían devolver son los siguientes:
Código devuelto | Descripción |
---|---|
|
El autor de la llamada no tiene privilegios de administrador. De forma predeterminada, Windows requiere que el proceso de llamada tenga privilegios de administrador para actualizar un paquete de controladores. |
|
El usuario canceló el Asistente para actualizaciones de hardware. |
|
La aplicación que realiza la llamada es una aplicación de 32 bits que intenta ejecutarse en un entorno de 64 bits, que no está permitido. Para obtener más información, consulte Instalación de dispositivos en sistemas de 64 bits. |
|
El valor especificado para Flags no es igual a cero. |
Comentarios
DiShowUpdateDevice muestra el Asistente para actualización de hardware para la instancia de dispositivo especificada. Para obtener información sobre cómo actualizar controladores de dispositivos mediante el Asistente para actualizaciones de hardware, consulte El Centro de ayuda y soporte técnico.
En general, las aplicaciones de instalación deben establecer NeedReboot en NULL para que el sistema inicie automáticamente un reinicio del sistema si se requiere un reinicio para completar una actualización de hardware. Una aplicación debe proporcionar un puntero NeedReboot solo en los casos siguientes:
- La aplicación de instalación debe llamar a DiShowUpdateDevice varias veces para completar las actualizaciones de hardware. En este caso, la aplicación debe registrar si cualquiera de las llamadas a DiShowUpdateDevice devuelve un valor TRUENeedReboot y, si es así, solicitar al usuario que reinicie el sistema después de la llamada final a DiShowUpdateDevice devuelve.
- La aplicación debe realizar operaciones necesarias, excepto llamar a DiShowUpdateDevice, antes de que se produzca un reinicio del sistema. Si se requiere un reinicio del sistema, la aplicación debe finalizar las operaciones necesarias y, a continuación, pedir al usuario que reinicie el sistema.
Para instalar un nuevo controlador para un dispositivo en lugar de invocar al Asistente para actualizaciones de hardware, llame a DiInstallDriver o UpdateDriverForPlugAndPlayDevices.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows Vista y versiones posteriores de Windows. |
Plataforma de destino | Escritorio |
Encabezado | newdev.h (incluya Newdev.h) |
Library | Newdev.lib |
Archivo DLL | Newdev.dll |