Função SwDeviceClose (swdevice.h)
Fecha o identificador do dispositivo de software. Quando o identificador for fechado, se o tempo de vida do SwDevice for SWDeviceLifetimeHandle, o PnP iniciará o processo de "desconectar" o dispositivo. O dispositivo não será mais relatado como um filho de seu dispositivo pai.
Sintaxe
void SwDeviceClose(
[in] HSWDEVICE hSwDevice
);
Parâmetros
[in] hSwDevice
O identificador HSWDEVICE a ser fechado.
Retornar valor
Nenhum
Comentários
Depois que SwDeviceClose retornar, o sistema operacional terá a garantia de não chamar a função de retorno de chamada SW_DEVICE_CREATE_CALLBACK e todas as chamadas para funções de API de Dispositivo de Software que estavam em andamento têm a garantia de ter sido concluídas.
Você pode chamar SwDeviceClose a qualquer momento, mesmo que a função de retorno de chamada ainda não tenha sido chamada.
Em Windows 8, você não pode chamar SwDeviceClose dentro da função de retorno de chamada SW_DEVICE_CREATE_CALLBACK. Isso causará um deadlock. Tenha cuidado ao liberar um objeto ref counted que chamará SwDeviceClose quando seu destruidor for executado. Em Windows 8.1, essa restrição é levantada e você pode chamar SwDeviceClose dentro da função de retorno de chamada.
Ao chamar SwDeviceClose, se o tempo de vida do SwDevice for SWDeviceLifetimeHandle, você iniciará o processo de "desconectar" o dispositivo. Isso faz com que o dispositivo não seja mais relatado como um filho de seu pai, o que faz com que o PnP emita uma "remoção surpresa" do dispositivo. A chamada para SwDeviceClose retorna antes que essa remoção seja concluída. No entanto, você pode chamar SwDeviceCreate com segurança imediatamente após SwDeviceClose. A nova criação será enfileirada até que o processamento de remoção anterior seja concluído e, em seguida, o dispositivo será recriado.
A remoção PnP torna o dispositivo "Não presente" e não desinstala o dispositivo. A remoção PnP de um dispositivo é a mesma que desconectar um dispositivo USB e todo o estado de propriedade persistente do dispositivo permanecerá. Se você quiser desinstalar o dispositivo depois de chamar SwDeviceClose, consulte Desinstalando o dispositivo.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 |
Servidor mínimo com suporte | Windows Server 2012 |
Plataforma de Destino | Universal |
Cabeçalho | swdevice.h |
Biblioteca | Swdevice.lib; OneCoreUAP.lib no Windows 10 |
DLL | Cfgmgr32.dll |