Freigeben über


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.
Führen Sie eine der folgenden Schritte aus, um ein Gerät instance Handle abzurufen, das an den lokalen Computer gebunden ist. Sie können auch die Geräteinstallationsfunktionen verwenden, um lokale Geräte instance Aus einem Geräteinformationssatz abzurufen, der an den lokalen Computer gebunden ist. Führen Sie die folgenden Schritte aus:
  1. 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.)
  2. Rufen Sie eine SP_DEVINFO_DATA-Struktur für ein Gerät ab, das im Geräteinformationssatz instance.
  3. 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

Weitere Informationen

CM_Get_Child_Ex

CM_Get_Parent

CM_Get_Parent_Ex

CM_Get_Sibling

CM_Get_Sibling_Ex

CM_Locate_DevNode

CM_Locate_DevNode_Ex

SP_DEVINFO_DATA

SP_DEVINFO_LIST_DETAIL_DATA

SetupDiGetDeviceInfoListDetail