Share via


DIF_REGISTERDEVICE

La solicitud de DIF_REGISTERDEVICE permite que un instalador participe en el registro de una instancia de dispositivo recién creada con el administrador de PnP. Windows envía esta solicitud DIF para dispositivos que no son PnP.

Cuándo se envió

Cuando un instalador notifica un dispositivo desconocido anteriormente en respuesta a una solicitud de DIF_DETECT . Windows envía esta solicitud DIF en la fase de análisis del Asistente para agregar hardware antes de instalar el dispositivo. Windows también envía esta solicitud durante la detección que no es de PnP.

Quién controla

Co-instalador de clase

Puede controlar

Instalador co-instalador del dispositivo

No controla

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 que identifica 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
Ninguno

Salida del instalador

Ninguno

Valor devuelto del instalador

Un co-instalador puede devolver NO_ERROR o un código de error win32. Un co-instalador no debe devolver ERROR_DI_POSTPROCESSING_REQUIRED para esta solicitud DIF.

Si un instalador determina que el dispositivo es un duplicado, devuelve ERROR_DUPLICATE_FOUND.

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.

Si el instalador determina que el dispositivo es un duplicado, el instalador devuelve ERROR_DUPLICATE_FOUND.

Controlador de código DIF predeterminado

SetupDiRegisterDeviceInfo

Operación del instalador

Una aplicación de instalación de dispositivos normalmente envía esta solicitud DIF para registrar un dispositivo que no sea PnP con el administrador de PnP. A partir de Microsoft Windows 2000, los dispositivos que no son PnP deben registrarse para poder instalarlos.

Normalmente, un instalador controla esta solicitud de DIF para realizar la detección de duplicados. Este instalador suele llamar al controlador predeterminado (SetupDiRegisterDeviceInfo) y especifica su rutina de detección. Si el registro se realiza correctamente y el instalador determina que el dispositivo no es un duplicado, el instalador devuelve NO_ERROR.

Un co-instalador debe realizar cualquier operación para controlar esta solicitud DIF en su paso de preprocesamiento. Cuando se llama al co-instalador para el posprocesamiento, la instancia del dispositivo ya se ha registrado mediante el instalador de clase o el controlador predeterminado.

Si un instalador devuelve un error para este código DIF, normalmente ERROR_DUPLICATE_FOUND, Windows elimina el dispositivo del conjunto de información del dispositivo.

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

DIF_DETECT

SetupDiRegisterDeviceInfo

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS