Compartilhar via


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

Confira também

SwDeviceCreate