Compartir a través de


Función WdfPreDeviceInstallEx (wdfinstaller.h)

[Solo se aplica a KMDF]

La función de WdfPreDeviceInstallEx de del coinstalador realiza las operaciones que el coinstalador podría requerir antes de que el instalador de un controlador que no sea Plug and Play (PnP) cree el servicio en modo kernel del controlador.

Sintaxis

ULONG WdfPreDeviceInstallEx(
  [in]           LPCWSTR                          InfPath,
  [in, optional] LPCWSTR                          InfSectionName,
  [in]           PWDF_COINSTALLER_INSTALL_OPTIONS ClientOptions
);

Parámetros

[in] InfPath

Puntero a una cadena de caracteres anchos terminada en NULL que contiene la ruta de acceso del directorio al archivo INF del controlador. El instalador del controlador puede obtener esta cadena llamando a GetCurrentDirectory, que se describe en Microsoft Windows SDK.

[in, optional] InfSectionName

Puntero a una cadena de caracteres anchos terminada en NULL que contiene el Wdf-install-section nombre en el archivo INF del controlador. Para obtener más información sobre este nombre, vea Using the KMDF Co-installer. Si este puntero es NULL, el co-installer usa WdfSection para el nombre.

[in] ClientOptions

Puntero a una estructura de tipo WDF_COINSTALLER_INSTALL_OPTIONSasignada por el autor de la llamada que contiene opciones de instalación especificadas por el controlador.

Valor devuelto

WdfPreDeviceInstallEx devuelve ERROR_SUCCESS si la operación se realiza correctamente. De lo contrario, la función devuelve uno de los valores adicionales ERROR_XXX definidos en Winerror.h.

Observaciones

El instalador de los controladores basados en marcos de un dispositivo que no sea PnP debe llamar a WdfPreDeviceInstall o WdfPreDeviceInstallEx antes de que el instalador llame a CreateService.

Para obtener la dirección de la función WdfPreDeviceInstallEx de la del instalador, el instalador debe llamar a GetProcAddress después de que el instalador haya llamado a LoadLibrary para cargar el co-instalador.

Si el co-instalador determina que el equipo debe reiniciarse para completar la instalación del controlador (normalmente porque se instaló anteriormente una versión anterior del marco), la función WdfPreDeviceInstallEx permite controlar cuándo o si se le pide al usuario que reinicie el equipo, como se indica a continuación:

  • Si el instalador establece el miembro ShowRebootPrompt de la estructura WDF_COINSTALLER_INSTALL_OPTIONS en TRUE, WdfPreDeviceInstallEx informa al administrador de PnP de que se debe reiniciar el equipo y el administrador de PnP solicita al usuario que sea necesario reiniciar un reinicio. Establecer el miembro ShowRebootPrompt de en TRUE equivale a llamar a WdfPreDeviceInstall.
  • Si el instalador establece el miembro ShowRebootPrompt de la estructura de WDF_COINSTALLER_INSTALL_OPTIONS en FALSE, WdfPreDeviceInstallEx no informa al administrador de PnP de que es necesario reiniciar. En su lugar, la función devuelve ERROR_SUCCESS_REBOOT_REQUIRED. El instalador puede determinar cuándo o si reiniciar el equipo,
Para obtener más información sobre la función y los instaladores de WdfPreDeviceInstallEx para controladores basados en marcos de dispositivos que no son PnP, consulte Instalación de un controlador que no sea PnP. Para obtener más información sobre CreateService, GetProcAddressy LoadLibrary, consulte la documentación del SDK de Microsoft Windows.

Ejemplos

Para obtener un ejemplo de código que usa la función WdfPreDeviceInstallEx, consulte el instalador del ejemplo NONPNP.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
versión mínima de KMDF 1.9
encabezado wdfinstaller.h (incluya Wdfinstaller.h)
Biblioteca N/A (exportado por la biblioteca co-instalador de KMDF. Para obtener información sobre el nombre del archivo de instalación conjunta de la biblioteca, consulte Uso del co-instalador de KMDF).

Consulte también

WdfPostDeviceInstall

WdfPreDeviceInstall