Compartilhar via


Função SetupDiRestartDevices (setupapi.h)

A função SetupDiRestartDevices reinicia um dispositivo especificado ou, se necessário, reinicia todos os dispositivos operados pela mesma função e filtra os drivers que operam o dispositivo especificado.

Sintaxe

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

Parâmetros

[in] DeviceInfoSet

Um identificador para um conjunto de informações do dispositivo que contém o elemento de informações do dispositivo que representa o dispositivo a ser reiniciado.

[in, out] DeviceInfoData

Um ponteiro para uma estrutura SP_DEVINFO_DATA para o membro de informações do dispositivo que representa o dispositivo a ser reiniciado. Esse parâmetro também é um parâmetro de saída porque SetupDiRestartDevices atualiza os parâmetros de instalação do dispositivo para esse membro de informações do dispositivo e o status e o código de problema da instância de dispositivo correspondente. Para obter mais informações sobre essas atualizações, consulte a seção Comentários a seguir.

Retornar valor

Se a operação for bem-sucedida, SetupDiRestartDevices retornará TRUE; caso contrário, a função retorna FALSE e o erro registrado pode ser recuperado por uma chamada para GetLastError.

Comentários

SetupDiRestartDevices deve ser chamado apenas por um instalador de classe quando um instalador de classe estiver tratando uma solicitação de DIF_INSTALLDEVICE e apenas em situações raras em que o instalador de classe deve executar operações após todas as operações de instalação padrão, exceto para iniciar um dispositivo, tiver concluído . Para obter mais informações sobre como chamar SetupDiRestartDevices nessas situações, consulte DIF_INSTALLDEVICE.

SetupDiRestartDevices reiniciará somente o dispositivo especificado se a reinicialização puder ser executada sem afetar a instalação de outros dispositivos operados pelo mesmo driver de função ou drivers de filtro que operam o dispositivo. Especificamente, se a reinicialização do dispositivo especificado não copiar novos arquivos ou modificar os arquivos que foram instalados anteriormente para o dispositivo, SetupDiRestartDevices reiniciará apenas o dispositivo especificado. Caso contrário, a função reiniciará todos os dispositivos operados pela mesma função e filtrar drivers que operam o dispositivo especificado.

SetupDiRestartDevices atualiza os parâmetros de instalação do dispositivo e o dispositivo status para refletir o resultado da tentativa de reinicialização da operação. Por exemplo:

  • Se o dispositivo for iniciado, SetupDiRestartDevices definirá o dispositivo status como DN_STARTED.
  • Se uma reinicialização do sistema for necessária para iniciar um dispositivo, SetupDiRestartDevices definirá o sinalizador DI_NEEDREBOOT no membro Flags da estrutura SP_DEVINSTALL_PARAMETER associada ao elemento de informações do dispositivo e definirá o código de problema para o dispositivo CM_PROB_NEED_RESTART.
A função CM_Get_DevNode_Status recupera a status e o código de problema de uma instância de dispositivo e a função SetupDiGetDeviceInstallParams recupera os parâmetros de instalação do dispositivo para o elemento de informações do dispositivo que representa a instância do dispositivo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Server 2003 e versões posteriores do Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho setupapi.h (inclua Setupapi.h)
Biblioteca Setupapi.lib
DLL Setupapi.dll

Confira também

CM_Get_DevNode_Status

DIF_INSTALLDEVICE

SP_DEVINFO_DATA

SetupDiGetDeviceInstallParams