funzione CM_Reenumerate_DevNode (cfgmgr32.h)

La funzione CM_Reenumerate_DevNode enumera i dispositivi identificati da un nodo del dispositivo specificato e da tutti i relativi elementi figlio.

Sintassi

CMAPI CONFIGRET CM_Reenumerate_DevNode(
  [in] DEVINST dnDevInst,
  [in] ULONG   ulFlags
);

Parametri

[in] dnDevInst

Handle dell'istanza del dispositivo fornita dal chiamante associato al computer locale.

[in] ulFlags

Flag forniti dal chiamante che specificano il modo in cui deve verificarsi la rinumerazione. Questo parametro può essere impostato su una combinazione dei flag seguenti, come indicato:

CM_REENUMERATE_ASYNCHRONOUS

La rinumerazione deve essere eseguita in modo asincrono. La chiamata a questa funzione viene restituita immediatamente dopo che il gestore PnP riceve la richiesta di riesenumerazione. Se questo flag è impostato, non deve essere impostato anche il flag CM_REENUMERATE_SYNCHRONOUS.

CM_REENUMERATE_NORMAL

Specifica il comportamento di riesenumerazione predefinito, in cui la rinumerazione viene eseguita in modo sincrono. Questo flag è funzionalmente equivalente a CM_REENUMERATE_SYNCHRONOUS.

CM_REENUMERATE_RETRY_INSTALLATION

Specifica che Plug and Play deve eseguire un altro tentativo di installare tutti i dispositivi nel sottoalbero specificato che sono stati rilevati ma che non sono ancora configurati o contrassegnati come necessari per la reinstallazione o per il quale è necessario completare l'installazione. Questo flag può essere impostato insieme al flag CM_REENUMERATE_SYNCHRONOUS o al flag CM_REENUMERATE_ASYNCHRONOUS.

Questo flag deve essere usato con estrema cautela, perché il gestore PnP può richiedere all'utente di eseguire l'installazione di tali dispositivi. Attualmente, solo componenti come 设备管理器 e Configurazione guidata hardware usano questo flag, per consentire all'utente di ritentare l'installazione dei dispositivi che potrebbero essere già stati rilevati ma che non sono attualmente installati.

CM_REENUMERATE_SYNCHRONOUS

La rinumerazione deve essere eseguita in modo sincrono. La chiamata a questa funzione restituisce quando tutti i dispositivi nel sottoalbero specificato sono stati rinumerati. Se questo flag è impostato, il flag di CM_REENUMERATE_ASYNCHRONOUS non deve essere impostato. Questo flag è funzionalmente equivalente a CM_REENUMERATE_NORMAL.

Valore restituito

Se l'operazione ha esito positivo, la funzione restituisce CR_SUCCESS. In caso contrario, restituisce uno dei codici di errore con prefisso CR_ definiti in Cfgmgr32.h.

Commenti

Se il nodo del dispositivo specificato rappresenta un dispositivo hardware o software bus, il gestore PnP esegue una query sui driver del dispositivo per un elenco di elementi figlio, tenta di configurare e avviare tutti i dispositivi figlio non configurati in precedenza. Il gestore PnP avvia anche la rimozione a sorpresa dei dispositivi che non sono più presenti (vedere IRP_MN_SURPRISE_REMOVAL).

I chiamanti di questa funzione devono avere SeLoadDriverPrivilege. I privilegi sono descritti nella documentazione di Microsoft Windows SDK.

Per informazioni sull'uso di handle di istanza del dispositivo associati al computer locale, vedere CM_Get_Child.

Requisiti

   
Client minimo supportato Disponibile in Microsoft Windows 2000 e versioni successive di Windows.
Piattaforma di destinazione Desktop
Intestazione cfgmgr32.h (include Cfgmgr32.h)
Libreria Cfgmgr32.lib
DLL Cfgmgr32.dll

Vedi anche

CM_Get_Child

CM_Reenumerate_DevNode_Ex

IRP_MN_SURPRISE_REMOVAL