CM_Get_Child-Funktion (cfgmgr32.h)
Die CM_Get_Child-Funktion wird verwendet, um ein Gerät abzurufen, instance mit dem ersten untergeordneten Knoten eines angegebenen Geräteknotens (devnode) in der Gerätestruktur des lokalen Computers behandelt wird.
Hinweis
In Windows Vista und höheren Versionen von Windows verwendet das einheitliche Geräteeigenschaftenmodell den DEVPKEY_Device_Children-Eigenschaftenschlüssel, um untergeordnete Geräte darzustellen. Weitere Informationen finden Sie unter Abrufen von Gerätebeziehungen .
Syntax
CMAPI CONFIGRET CM_Get_Child(
[out] PDEVINST pdnDevInst,
[in] DEVINST dnDevInst,
[in] ULONG ulFlags
);
Parameter
[out] pdnDevInst
Vom Aufrufer bereitgestellter Zeiger auf das Gerät instance handle auf den untergeordneten Knoten, den diese Funktion abruft. Das abgerufene Handle ist an den lokalen Computer gebunden. Weitere Informationen finden Sie im Abschnitt Hinweise .
[in] dnDevInst
Das vom Anrufer bereitgestellte Gerät instance Handle, das an den lokalen Computer gebunden ist.
[in] ulFlags
Nicht verwendet, muss null sein.
Rückgabewert
Wenn der Vorgang erfolgreich ist, gibt die Funktion CR_SUCCESS zurück. Andernfalls wird einer der CR_-Präfix-Fehlercodes zurückgegeben, die in Cfgmgr32.h definiert sind.
Hinweise
Um alle untergeordneten Elemente eines Devnodes in der Gerätestruktur des lokalen Computers aufzulisten, rufen Sie zuerst CM_Get_Child auf, um ein Gerät instance Handle für den ersten untergeordneten Knoten abzurufen, und rufen Sie dann CM_Get_Sibling auf, um Handles für die restlichen untergeordneten Knoten abzurufen.
Verwenden von Geräteinstanzhandles
Geräte-instance-Handle, die Sie mit PnP-Konfigurations-Manager-Funktionen verwenden, sind wie folgt an Computerhandles gebunden:
- Alle instance Handles für lokale Geräte sind an ein LOKALES NULL-Wert-Handle gebunden.
- Wenn Sie ein Remotecomputerhandle verwenden, um ein Gerät instance Handle abzurufen, wird das resultierende Remotegerät instance Handle an den Remotecomputerhandle gebunden.
- Ein Gerät instance Handle kann nur mit dem Computerhandle verwendet werden, an den es gebunden ist.
- Ein Gerät instance Handle kann nur mit einem anderen Gerät instance Handle verwendet werden, wenn beide Geräte- instance Handles an denselben Computerhandle gebunden sind.
- Verwenden Sie eine der folgenden Funktionen, die nur lokale Geräte instance Handles abrufen: CM_Locate_DevNode, CM_Get_Child, CM_Get_Parent oder CM_Get_Sibling.
- Verwenden Sie eine der folgenden Funktionen, die lokale und Remotegeräte-instance-Handles abruft, um ein lokales Gerät instance Handle abzurufen: CM_Locate_DevNode_Ex, CM_Get_Child_Ex, CM_Get_Parent_Ex oder CM_Get_Sibling_Ex.
- Rufen Sie einen Geräteinformationssatz ab, der an den lokalen Computer gebunden ist. (Ein Gerät instance Handle, das aus einem Geräteinformationssatz abgerufen wird, ist an den Computerhandle gebunden, an den der Geräteinformationssatz gebunden ist. Sie erhalten den Computerhandle für einen Geräteinformationssatz aus dem RemoteMachineHandle-Member der SP_DEVINFO_LIST_DETAIL_DATA-Struktur. Für einen lokalen Geräteinformationssatz, der an den lokalen Computer gebunden ist, ist der Wert von RemoteMachineHandleNULL. Rufen Sie SetupDiGetDeviceInfoListDetail auf, um eine SP_DEVINFO_LIST_DETAIL_DATA Struktur zu erhalten.)
- Rufen Sie eine SP_DEVINFO_DATA-Struktur für ein Gerät ab, das im Geräteinformationssatz instance.
- Rufen Sie das Gerät instance Handle für das Gerät instance aus dem DevInst-Element der SP_DEVINFO_DATA-Struktur ab.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows. |
Zielplattform | Universell |
Header | cfgmgr32.h (einschließlich Cfgmgr32.h) |
Bibliothek | Cfgmgr32.lib; OneCoreUAP.lib auf Windows 10 |
DLL | CfgMgr32.dll |