CM_Locate_DevNodeA 函数 (cfgmgr32.h)

CM_Locate_DevNode 函数获取设备节点的设备实例句柄,该句柄与本地计算机上的指定设备实例 ID 相关联。

语法

CMAPI CONFIGRET CM_Locate_DevNodeA(
  [out]          PDEVINST    pdnDevInst,
  [in, optional] DEVINSTID_A pDeviceID,
  [in]           ULONG       ulFlags
);

参数

[out] pdnDevInst

指向 CM_Locate_DevNode 检索的设备实例句柄的指针。 检索到的句柄绑定到本地计算机。

[in, optional] pDeviceID

指向以 NULL 结尾的字符串的指针,该字符串表示 设备实例 ID。 如果此值为 NULL,或者如果它指向长度为零的字符串,则该函数将检索设备 根处的设备实例句柄。

[in] ulFlags

ULONG 类型的变量,它提供以下标志值之一,在调用方提供设备实例标识符时应用这些值:

CM_LOCATE_DEVNODE_NORMAL

仅当设备当前在设备树中配置时,函数才检索指定设备的设备实例句柄。

CM_LOCATE_DEVNODE_PHANTOM

如果设备当前在设备树中配置,或者设备是当前未在设备树中配置的 非代表设备 ,则函数将检索指定设备的设备实例句柄。

CM_LOCATE_DEVNODE_CANCELREMOVE

如果设备当前在设备树中配置或正在从设备树中删除,则函数将检索指定设备的设备实例句柄。 如果设备正在被移除,则 函数将取消删除设备。

CM_LOCATE_DEVNODE_NOVALIDATION

未使用。

返回值

如果操作成功, CM_Locate_DevNode 返回CR_SUCCESS。 否则,该函数将返回 Cfgmgr32.h 中定义的 CR_Xxx 错误代码之一。

注解

有关使用绑定到本地计算机的设备实例句柄的信息,请参阅 CM_Get_Child

注意

cfgmgr32.h 标头将CM_Locate_DevNode定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。
目标平台 通用
标头 cfgmgr32.h (包括 Cfgmgr32.h)
Library Cfgmgr32.lib
DLL CfgMgr32.dll

另请参阅

CM_Get_Child

CM_Locate_DevNode_Ex