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
ERROR_ACCESS_DENIED
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.
ERROR_CANCELLED
El usuario canceló el Asistente para actualizaciones de hardware.
ERROR_IN_WOW64
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.
ERROR_INVALID_FLAGS
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 revertir un controlador para un dispositivo en lugar de invocar al Asistente para actualizaciones de hardware, llame a DiRollbackDriver.

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

Consulte también

DiInstallDriver

DiRollbackDriver

UpdateDriverForPlugAndPlayDevices