Share via


CM_Reenumerate_DevNode-Funktion (cfgmgr32.h)

Die CM_Reenumerate_DevNode-Funktion listet die Geräte auf, die von einem angegebenen Geräteknoten und allen untergeordneten Elementen identifiziert werden.

Syntax

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

Parameter

[in] dnDevInst

Vom Aufrufer bereitgestelltes Gerät instance Handle, das an den lokalen Computer gebunden ist.

[in] ulFlags

Vom Aufrufer bereitgestellte Flags, die angeben, wie eine erneute Aufzählung erfolgen soll. Dieser Parameter kann wie bereits erwähnt auf eine Kombination der folgenden Flags festgelegt werden:

CM_REENUMERATE_ASYNCHRONOUS

Die Erneute Aufzählung sollte asynchron erfolgen. Der Aufruf dieser Funktion wird unmittelbar nach dem Empfang der Erneutumsetzungsanforderung durch den PnP-Manager zurückgegeben. Wenn dieses Flag festgelegt ist, sollte nicht auch das CM_REENUMERATE_SYNCHRONOUS-Flag festgelegt werden.

CM_REENUMERATE_NORMAL

Gibt das Standardverhalten der Erneutumerierung an, bei dem die Reenumeration synchron erfolgt. Dieses Flag entspricht funktional CM_REENUMERATE_SYNCHRONOUS.

CM_REENUMERATE_RETRY_INSTALLATION

Gibt an, dass Plug and Play einen weiteren Versuch unternehmen soll, alle Geräte in der angegebenen Unterstruktur zu installieren, die erkannt, aber noch nicht konfiguriert wurden oder als neu installiert gekennzeichnet sind oder für die die Installation abgeschlossen werden muss. Dieses Flag kann zusammen mit dem CM_REENUMERATE_SYNCHRONOUS-Flag oder dem CM_REENUMERATE_ASYNCHRONOUS-Flag festgelegt werden.

Dieses Flag muss mit äußerster Vorsicht verwendet werden, da es dazu führen kann, dass der PnP-Manager den Benutzer auffordert, die Installation solcher Geräte durchzuführen. Derzeit verwenden nur Komponenten wie Geräte-Manager und Hardware-Assistent dieses Flag, damit der Benutzer die Installation von Geräten wiederholen kann, die möglicherweise bereits erkannt, aber derzeit nicht installiert sind.

CM_REENUMERATE_SYNCHRONOUS

Die Erneute Aufzählung sollte synchron erfolgen. Der Aufruf dieser Funktion gibt zurück, wenn alle Geräte in der angegebenen Unterstruktur neu aufgezählt wurden. Wenn dieses Flag festgelegt ist, sollte nicht auch das CM_REENUMERATE_ASYNCHRONOUS-Flag festgelegt werden. Dieses Flag entspricht funktional CM_REENUMERATE_NORMAL.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt die Funktion CR_SUCCESS zurück. Andernfalls wird einer der in Cfgmgr32.h definierten Fehlercodes mit CR_ Präfix zurückgegeben.

Hinweise

Wenn der angegebene Geräteknoten ein Hardware- oder Softwarebusgerät darstellt, fragt der PnP-Manager die Gerätetreiber nach einer Liste der untergeordneten Geräte ab und versucht dann, alle untergeordneten Geräte zu konfigurieren und zu starten, die zuvor nicht konfiguriert wurden. Der PnP-Manager initiiert auch die überraschende Entfernung von Geräten, die nicht mehr vorhanden sind (siehe IRP_MN_SURPRISE_REMOVAL).

Aufrufer dieser Funktion müssen über SeLoadDriverPrivilege verfügen. (Berechtigungen werden in der dokumentation Microsoft Windows SDK beschrieben.)

Informationen zur Verwendung von Geräte- instance Handles, die an den lokalen Computer gebunden sind, finden Sie unter CM_Get_Child.

Anforderungen

   
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows.
Zielplattform Desktop
Kopfzeile cfgmgr32.h (include Cfgmgr32.h)
Bibliothek Cfgmgr32.lib
DLL Cfgmgr32.dll

Weitere Informationen

CM_Get_Child

CM_Reenumerate_DevNode_Ex

IRP_MN_SURPRISE_REMOVAL