Función SetupDiRestartDevices (setupapi.h)

La función SetupDiRestartDevices reinicia un dispositivo especificado o, si es necesario, reinicia todos los dispositivos operados por la misma función y los controladores de filtro que operan el dispositivo especificado.

Sintaxis

WINSETUPAPI BOOL SetupDiRestartDevices(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

Parámetros

[in] DeviceInfoSet

Identificador de un conjunto de información del dispositivo que contiene el elemento de información del dispositivo que representa el dispositivo que se va a reiniciar.

[in, out] DeviceInfoData

Puntero a una estructura de SP_DEVINFO_DATA para el miembro de información del dispositivo que representa el dispositivo que se va a reiniciar. Este parámetro también es un parámetro de salida porque SetupDiRestartDevices actualiza los parámetros de instalación del dispositivo para este miembro de información del dispositivo y el código de estado y problema de la instancia de dispositivo correspondiente. Para obtener más información sobre estas actualizaciones, vea la siguiente sección Comentarios .

Valor devuelto

Si la operación se realiza correctamente, SetupDiRestartDevices devuelve TRUE; de lo contrario, la función devuelve FALSE y el error registrado se puede recuperar mediante una llamada a GetLastError.

Comentarios

Solo un instalador de clase debe llamar a SetupDiRestartDevices cuando un instalador de clase controla una solicitud de DIF_INSTALLDEVICE y solo en raras situaciones en las que el instalador de clase debe realizar operaciones después de todas las operaciones de instalación predeterminadas, excepto para iniciar un dispositivo, han completado . Para obtener más información sobre cómo llamar a SetupDiRestartDevices en estas situaciones , consulte DIF_INSTALLDEVICE.

SetupDiRestartDevices reinicia solo el dispositivo especificado si el reinicio se puede realizar sin afectar a la instalación de otros dispositivos operados por el mismo controlador de función o controladores de filtro que operan el dispositivo. En concreto, si el reinicio del dispositivo especificado no copia nuevos archivos ni modifica los archivos que se instalaron previamente para el dispositivo, SetupDiRestartDevices reinicia solo el dispositivo especificado. De lo contrario, la función reinicia todos los dispositivos operados por la misma función y los controladores de filtro que operan el dispositivo especificado.

SetupDiRestartDevices actualiza los parámetros de instalación del dispositivo y el estado del dispositivo para reflejar el resultado de la operación de reinicio intentado. Por ejemplo:

  • Si se inicia el dispositivo, SetupDiRestartDevices establece el estado del dispositivo en DN_STARTED.
  • Si es necesario reiniciar el sistema para iniciar un dispositivo, SetupDiRestartDevices establece la marca DI_NEEDREBOOT en el miembro Flags de la estructura SP_DEVINSTALL_PARAMETER asociada al elemento de información del dispositivo y establece el código de problema del dispositivo en CM_PROB_NEED_RESTART.
La función CM_Get_DevNode_Status recupera el estado y el código de problema de una instancia de dispositivo y la función SetupDiGetDeviceInstallParams recupera los parámetros de instalación del dispositivo para el elemento de información del dispositivo que representa la instancia del dispositivo.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Server 2003 y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado setupapi.h (incluya Setupapi.h)
Library Setupapi.lib
Archivo DLL Setupapi.dll

Consulte también

CM_Get_DevNode_Status

DIF_INSTALLDEVICE

SP_DEVINFO_DATA

SetupDiGetDeviceInstallParams