Compartir a través de


DIF_PROPERTYCHANGE

Una solicitud DIF_PROPERTYCHANGE notifica al instalador que cambian las propiedades del dispositivo. El dispositivo se está habilitando, deshabilitando, iniciando, detenido o algún elemento de una página de propiedades ha cambiado. Esta solicitud de DIF ofrece al instalador la oportunidad de participar en el cambio.

Cuándo se envió

Cuando un dispositivo está habilitado, deshabilitado, reiniciado, detenido o sus propiedades han cambiado.

Por ejemplo, Windows envía esta solicitud cuando un proveedor de páginas de propiedades establece la marca DI_FLAGSEX_PROPCHANGE_PENDING en el campo FlagsEx de la estructura de SP_DEVINSTALL_PARAMS para el dispositivo.

Para obtener más información sobre cómo detectar cuándo se inicia un dispositivo por primera vez o después se reinicia, consulte la sección Operación del instalador.

Quién controla

Co-instalador de clase

Puede controlar

Instalador co-instalador del dispositivo

Puede controlar

Instalador de clase

Puede controlar

Entrada del instalador

DeviceInfoSet
Proporciona un identificador al conjunto de información del dispositivo que contiene el dispositivo.

DeviceInfoData
Proporciona un puntero a una estructura de SP_DEVINFO_DATA para el dispositivo en el conjunto de información del dispositivo.

Parámetros de instalación de dispositivos
Hay parámetros de instalación de dispositivos (SP_DEVINSTALL_PARAMS) asociados a DeviceInfoData.

Parámetros de instalación de clases
Una estructura SP_PROPCHANGE_PARAMS está asociada a DeviceInfoData.

Salida del instalador

Ninguno

Valor devuelto del instalador

Un co-instalador puede devolver NO_ERROR, ERROR_DI_POSTPROCESSING_REQUIRED o un código de error Win32.

Si un instalador de clase controla correctamente esta solicitud y SetupDiCallClassInstaller debe llamar posteriormente al controlador predeterminado, el instalador de clase devuelve ERROR_DI_DO_DEFAULT.

Si el instalador de clase controla correctamente esta solicitud, incluida la llamada directa al controlador predeterminado, el instalador de clase debe devolver NO_ERROR y SetupDiCallClassInstaller no volverá a llamar al controlador predeterminado.

Nota El instalador de clase puede llamar directamente al controlador predeterminado, pero el instalador de clase nunca debe intentar reemplazar las operaciones del controlador predeterminado.

Para obtener más información sobre cómo llamar al controlador predeterminado, vea Llamar a controladores de código DIF predeterminados.

Si el instalador de clase encuentra un error, el instalador debe devolver un código de error win32 adecuado y SetupDiCallClassInstaller no llamará posteriormente al controlador predeterminado.

Controlador de código DIF predeterminado

SetupDiChangeState

Operación del instalador

En respuesta a una solicitud de DIF_PROPERTYCHANGE un instalador puede participar en la operación de cambio de propiedad. Los parámetros de instalación de clase (SP_PROPCHANGE_PARAMS) indican qué cambio está teniendo lugar.

Un cambio de propiedad puede requerir un reinicio del sistema. Para obtener información sobre cómo reiniciar el sistema, vea SetupDiCallClassInstaller.

Cuando Windows envía una solicitud de DIF_INSTALLDEVICE para instalar un dispositivo por primera vez, Windows inicia el dispositivo, pero no envía una solicitud de DIF_PROPERTYCHANGE como parte de la instalación. Si se debe realizar una operación de instalación personalizada cuando se inicia un dispositivo por primera vez y cada vez que el dispositivo se reinicia posteriormente, un instalador o un coinstalante deben controlar la solicitud de DIF_INSTALLDEVICE que inicia el dispositivo por primera vez y una solicitud de DIF_PROPERTYCHANGE que indica que la acción de cambio de estado es que el dispositivo se está iniciando.

Para obtener más información sobre los códigos DIF, consulte Control de códigos DIF.

Requisitos

Versión

Compatible con Microsoft Windows 2000 y versiones posteriores de Windows.

Encabezado

Setupapi.h (incluir Setupapi.h)

Consulte también

SetupDiChangeState

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS

SP_PROPCHANGE_PARAMS