Función SetupDiChangeState (setupapi.h)

La función SetupDiChangeState es el controlador predeterminado para la solicitud de instalación de DIF_PROPERTYCHANGE .

Sintaxis

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

Parámetros

[in] DeviceInfoSet

Identificador de un conjunto de información de dispositivo para el equipo local. Este conjunto contiene un elemento de información del dispositivo que representa el dispositivo cuyo estado se va a cambiar.

[in, out] DeviceInfoData

Puntero a una estructura de SP_DEVINFO_DATA que especifica el elemento de información del dispositivo en DeviceInfoSet. Se trata de un parámetro IN-OUT porque DeviceInfoData.DevInst puede actualizarse con un nuevo valor de identificador tras la devolución.

Valor devuelto

La función devuelve TRUE si se realiza correctamente. De lo contrario, devuelve FALSE y el error registrado se puede recuperar mediante una llamada a GetLastError.

Comentarios

SetupDiChangeState cambia el estado de un dispositivo instalado.

El autor de la llamada de SetupDiChangeState debe ser miembro del grupo Administradores.

Nota Solo un instalador de clase debe llamar a SetupDiChangeState y solo en aquellas situaciones en las que el instalador de clase debe realizar operaciones de cambio de propiedad después de que SetupDiChangeState complete la operación de cambio de propiedad predeterminada. En tales situaciones, el instalador de clase debe llamar directamente a SetupDiChangeState cuando el instalador procesa una solicitud de DIF_PROPERTYCHANGE. Para obtener más información sobre cómo llamar al controlador predeterminado, vea Llamar a controladores de código DIF predeterminados.
 
Los autores de llamadas de SetupDiChangeState deben especificar una marca DICS_XXX en el SP_PROPCHANGE_PARAMS para el elemento del dispositivo que indica el tipo de cambio de estado que se va a realizar en el dispositivo. Los autores de llamadas de esta función deben establecer los campos adecuados en el SP_PROPCHANGE_PARAMS y llamar a SetupDiSetClassInstallParams antes de llamar a esta función.

Si especifica la marca DICS_FLAG_CONFIGSPECIFIC en el SP_PROPCHANGE_PARAMS, debe rellenar el campo HwProfile . Un valor de cero para HwProfile indica el perfil actual.

Para habilitar o deshabilitar un dispositivo en el perfil de hardware actual, establezca la marca DICS_FLAG_CONFIGSPECIFIC en el SP_PROPCHANGE_PARAMS. Para habilitar o deshabilitar un dispositivo globalmente, como en los perfiles de hardware acoplados y no acoplados, establezca la marca DICS_FLAG_GLOBAL.

Esta función hace lo siguiente:

Los autores de llamadas de esta función no deben especificar DICS_STOP ni DICS_START en el SP_PROPCHANGE_PARAMS. Use DICS_PROPCHANGE para detener y reiniciar un dispositivo para que los cambios en la configuración del dispositivo surtan efecto.

Si DI_DONOTCALLCONFIGMG está establecido para un dispositivo, no debe llamar a SetupDiChangeState para el dispositivo, sino que debe establecer la marca DI_NEEDREBOOT.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows 2000 y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado setupapi.h (incluya Setupapi.h)
Library Setupapi.lib
Archivo DLL Setupapi.dll
Conjunto de API ext-ms-win-setupapi-classinstallers-l1-1-2 (introducido en Windows 10, versión 10.0.14393)

Consulte también

DIF_PROPERTYCHANGE

SP_PROPCHANGE_PARAMS

SetupDiCallClassInstaller