Compartir a través de


Función SwDeviceClose (swdevice.h)

Cierra el identificador del dispositivo de software. Cuando se cierra el controlador, si la duración del SwDevice es SWDeviceLifetimeHandle, PnP iniciará el proceso de "desenchufar" el dispositivo. El dispositivo ya no se notificará como elemento secundario de su dispositivo primario.

Sintaxis

void SwDeviceClose(
  [in] HSWDEVICE hSwDevice
);

Parámetros

[in] hSwDevice

El controlador HSWDEVICE que se va a cerrar.

Valor devuelto

None

Observaciones

Después de que SwDeviceClose vuelva, se garantiza que el sistema operativo no llame a la función de devolución de llamada SW_DEVICE_CREATE_CALLBACK , y se garantiza que las llamadas a las funciones de API de dispositivo de software que estaban en curso se hayan completado.

Puede llamar a SwDeviceClose en cualquier momento incluso si aún no se ha llamado a la función de devolución de llamada.

En Windows 8, no se puede llamar a SwDeviceClose dentro de la función de devolución de llamada SW_DEVICE_CREATE_CALLBACK. Si lo hace, se producirá un interbloqueo. Tenga cuidado de liberar un objeto con recuento de referencias que llamará a SwDeviceClose cuando se ejecute su destructor. En Windows 8.1, se levanta esta restricción y puede llamar a SwDeviceClose dentro de la función de devolución de llamada.

Al llamar a SwDeviceClose, si la duración del SwDevice es SWDeviceLifetimeHandle, inicia el proceso de "desenchufar" el dispositivo. Esto hace que el dispositivo ya no se notifique como un elemento secundario de su elemento primario, lo que hace que PnP emita una "eliminación sorpresa" del dispositivo. La llamada a SwDeviceClose vuelve antes de que se complete esta eliminación. Sin embargo, puede llamar de forma segura a SwDeviceCreate inmediatamente después de SwDeviceClose. La nueva creación se pondrá en cola hasta que finalice el procesamiento de eliminación anterior y, a continuación, se volverá a crear el dispositivo.

La eliminación de PnP hace que el dispositivo "No esté presente" y no desinstala el dispositivo. La eliminación de PnP de un dispositivo es la misma que desconectar un dispositivo USB y todo el estado de propiedad persistente del dispositivo permanecerá. Si desea desinstalar el dispositivo después de llamar a SwDeviceClose, consulte Desinstalación del dispositivo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Universal
Encabezado swdevice.h
Library Swdevice.lib; OneCoreUAP.lib en Windows 10
Archivo DLL Cfgmgr32.dll

Consulte también

SwDeviceCreate