Win32 API:CM_Get_Class_Registry_PropertyA 函数(Cfgmgr32.h)
在 Win32 API 的 Cfgmgr32.h 头文件中,CM_Get_Class_Registry_PropertyA 函数用于获取指定设备类的注册表属性。以下是该函数的原型:CMAPI CONFIGRET WINAPI CM_Get_Class_Registry_PropertyA( _In_ LPGUID ClassGuid, _In_ ULONG ulProperty, _Out_ PULONG pulRegDataType, // 可选 _Out_writes_bytes_opt_(*pulLength) PVOID Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine);函数参数说明如下: ClassGuid: 指向设备类的 GUID 的指针。 ulProperty: 指定要获取的注册表属性,如 CM_DRP_DEVICEDESC。 pulRegDa...
Win32 API:CM_Get_Class_PropertyW 函数(Cfgmgr32.h)
在 Win32 API 的 Cfgmgr32.h 头文件中,CM_Get_Class_PropertyW 函数用于获取指定设备类的属性。以下是该函数的原型:CMAPI CONFIGRET WINAPI CM_Get_Class_PropertyW( _In_ LPGUID ClassGuid, _In_ DEVPROPKEY PropertyKey, _Out_ PDEVPROPTYPE PropertyType, _Out_writes_bytes_opt_(*PropertyBufferSize) PBYTE PropertyBuffer, _Inout_ PULONG PropertyBufferSize, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine);函数参数说明如下: ClassGuid: 指向设备类的 GUID 的指针。 PropertyKey: 设备属性键,标识要获取的设备类属性。 PropertyType: 用于接收属性值类型的指针。 ...
Win32 API:CM_Get_Class_NameW 函数(Cfgmgr32.h)
CM_Get_Class_NameW 函数是 Windows 配置管理器 (Configuration Manager) 提供的一个函数,用于获取指定设备类 GUID 的友好名称。在 Cfgmgr32.h 头文件中,CM_Get_Class_NameW 函数的原型通常如下:CMAPI CONFIGRET WINAPI CM_Get_Class_NameW( _In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) LPWSTR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags);其中: ClassGuid 是指向设备类 GUID 的指针。 Buffer 是指向接收设备类友好名称的缓冲区的指针。可以为 NULL,用于查询所需缓冲区大小。 pulLength 是指向一个变量,用于输入缓冲区大小和输出实际缓冲区大小。 ulFlags 是保留参数,必须为0。这个函数的作用是获取设备类的友好名称。如果成功,返回 CR_SUCCESS;否则,返回相应的错误码,可以使用 CM_Get_L...
Win32 API:CM_Get_Class_NameA 函数(Cfgmgr32.h)
在 Windows 的 Cfgmgr32.h 头文件中,确实存在 CM_Get_Class_NameA 函数。以下是其原型:CMAPI CONFIGRET WINAPI CM_Get_Class_NameA( _In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) LPSTR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags);这个函数的作用是获取指定设备类 GUID 的友好名称。其中参数含义如下: ClassGuid: 指向设备类的 GUID 的指针。 Buffer: 指向接收设备类友好名称的缓冲区的指针。可以为 NULL,用于查询所需缓冲区大小。 pulLength: 指向一个变量,用于输入缓冲区大小和输出实际缓冲区大小。 ulFlags: 保留,必须为0。示例用法:#include <windows.h>#include <Cfgmgr32.h>#include <tchar.h>int main() { CONFIGRET...
Win32 API:CM_Get_Class_Name_ExW 函数(Cfgmgr32.h)
在Windows的 Cfgmgr32.h 头文件中,确实存在 CM_Get_Class_Name_ExW 函数。以下是其原型:CMAPI CONFIGRET WINAPI CM_Get_Class_Name_ExW( _In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) LPWSTR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags, _In_opt_ HMACHINE hMachine);这个函数的作用是获取指定设备类 GUID 的友好名称。其中参数含义如下: ClassGuid: 指向设备类的 GUID 的指针。 Buffer: 指向接收设备类友好名称的缓冲区的指针。可以为NULL,用于查询所需缓冲区大小。 pulLength: 指向一个变量,用于输入缓冲区大小和输出实际缓冲区大小。 ulFlags: 保留,必须为0。 hMachine: 机器句柄,指示函数在哪台机器上执行。可以为 NULL,表示本地机器。示例用法:#include <windows.h&g...
Win32 API:CM_Get_Class_Key_NameW 函数(Cfgmgr32.h)
在Windows的 Cfgmgr32.h 头文件中,确实存在 CM_Get_Class_Key_NameW 函数。以下是其原型:CMAPI CONFIGRET WINAPI CM_Get_Class_Key_NameW( _In_ LPGUID ClassGuid, _Out_writes_opt_(*pulLength) LPWSTR Buffer, _Inout_ PULONG pulLength, _In_ ULONG ulFlags);这个函数的作用是获取指定设备类 GUID 的注册表键名。其中参数含义如下: ClassGuid: 指向设备类的 GUID 的指针。 Buffer: 指向接收设备类键名的缓冲区的指针。可以为NULL,用于查询所需缓冲区大小。 pulLength: 指向一个变量,用于输入缓冲区大小和输出实际缓冲区大小。 ulFlags: 保留,必须为0。示例用法:#include <windows.h>#include <Cfgmgr32.h>#include <tchar.h>int main() { CONF...
Win32 API:CM_Get_Child 函数(Cfgmgr32.h)
CM_Get_Child 函数是 Windows 配置管理器 (Configuration Manager) 提供的一个函数,用于获取指定设备实例的子设备实例。在 Cfgmgr32.h 头文件中,CM_Get_Child 函数的原型通常如下:CMAPI CONFIGRET WINAPI CM_Get_Child( OUT PDEVINST pdnDevInst, IN DEVINST dnDevInst, IN ULONG ulFlags);其中: pdnDevInst 是输出参数,用于接收子设备实例的指针。 dnDevInst 是输入参数,表示父设备实例。 ulFlags 是输入参数,指定一些标志,通常为0。这个函数的作用是通过提供的父设备实例获取其第一个子设备实例。如果成功,返回 CR_SUCCESS;否则,返回相应的错误码,可以使用 CM_Get_Last_Error 函数获取详细的错误信息。以下是一个示例代码:#include <windows.h>#include <Cfgmgr32.h>#include <tchar.h>...
Win32 API:CM_Free_Res_Des_Handle 函数(Cfgmgr32.h)
在 Win32 API 的 Cfgmgr32.h 头文件中,确实有名为 CM_Free_Res_Des_Handle 的函数。这个函数用于释放先前通过 CM_Get_Next_Res_Des 获取的资源描述符资源句柄。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Free_Res_Des_Handle( RES_DES rdResDes, ULONG ulFlags);参数说明: rdResDes: 要释放的资源描述符句柄。 ulFlags: 保留字段,必须为零。函数返回一个 CONFIGRET 类型的值,用于指示操作的成功与否。可能的返回值包括: CR_SUCCESS: 操作成功。 其他值表示发生了错误,可以通过 CM_Get_Last_Error 函数获取详细的错误信息。这个函数通常在设备配置信息管理中用于释放先前获取的资源描述符资源句柄。在使用这类底层的系统函数时,确保了解其在系统中的影响和正确使用方式。最好查阅相关的官方文档以获取详细信息。
Win32 API:CM_Free_Res_Des 函数(Cfgmgr32.h)
在 Win32 API 的 Cfgmgr32.h 头文件中,确实有名为 CM_Free_Res_Des 的函数。这个函数用于释放先前通过 CM_Get_Next_Res_Des 获取的资源描述符资源。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Free_Res_Des( PRES_DES prdResDes, RES_DES rdResDes, ULONG ulFlags);参数说明: prdResDes: 指向要释放的资源描述符结构的指针。 rdResDes: 要释放的资源描述符句柄。 ulFlags: 保留字段,必须为零。函数返回一个 CONFIGRET 类型的值,用于指示操作的成功与否。可能的返回值包括: CR_SUCCESS: 操作成功。 其他值表示发生了错误,可以通过 CM_Get_Last_Error 函数获取详细的错误信息。这个函数通常在设备配置信息管理中用于释放先前获取的资源描述符资源。在使用这类底层的系统函数时,确保了解其在系统中的影响和正确使用方式。最好查阅相关的官方文档以获取详细信息。
Win32 API:CM_Free_Range_List 函数(Cfgmgr32.h)
在 Win32 API 的 Cfgmgr32.h 头文件中,确实有名为 CM_Free_Range_List 的函数。这个函数用于释放先前通过 CM_Query_Range_List 获取的范围列表资源。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Free_Range_List( RANGE_LIST rlh, ULONG ulFlags);参数说明: rlh: 要释放的范围列表句柄。 ulFlags: 保留字段,必须为零。函数返回一个 CONFIGRET 类型的值,用于指示操作的成功与否。可能的返回值包括: CR_SUCCESS: 操作成功。 其他值表示发生了错误,可以通过 CM_Get_Last_Error 函数获取详细的错误信息。这个函数通常在设备配置信息管理中用于释放先前获取的资源。在使用这类底层的系统函数时,确保了解其在系统中的影响和正确使用方式。最好查阅相关的官方文档以获取详细信息。
Win32 API:CM_Free_Log_Conf 函数(Cfgmgr32.h)
在 Win32 API 的 Cfgmgr32.h 头文件中,确实有名为 CM_Free_Log_Conf 的函数。这个函数用于释放先前由 CM_Get_First_Log_Conf 或 CM_Get_Next_Log_Conf 获取的资源。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Free_Log_Conf( LOG_CONF lcLogConfToBeFreed, ULONG ulFlags);参数说明: lcLogConfToBeFreed: 要释放的逻辑配置句柄。 ulFlags: 保留字段,必须为零。函数返回一个 CONFIGRET 类型的值,用于指示操作的成功与否。可能的返回值包括: CR_SUCCESS: 操作成功。 其他值表示发生了错误,可以通过 CM_Get_Last_Error 函数获取详细的错误信息。这个函数通常在设备配置信息管理中用于释放先前获取的逻辑配置资源。在使用这类底层的系统函数时,确保了解其在系统中的影响和正确使用方式。最好查阅相关的官方文档以获取详细信息。
Win32 API:CM_Enumerate_EnumeratorsW 函数(Cfgmgr32.h)
在 Win32 API 的 Cfgmgr32.h 头文件中,确实有 CM_Enumerate_EnumeratorsW 函数。这个函数与 CM_Enumerate_EnumeratorsA 函数类似,用于列举系统中的设备枚举器(Device Enumerators)。不同之处在于 W 版本使用宽字符(Unicode)。以下是 CM_Enumerate_EnumeratorsW 函数的基本信息:CMAPI CONFIGRET WINAPI CM_Enumerate_EnumeratorsW( ULONG ulFlags, PDEVINSTID_W pszEnumerator, ULONG ulDeviceIDSize, PULONG pulLength, ULONG ulReserved);参数说明: ulFlags: 保留字段,必须为零。 pszEnumerator: 指向一个宽字符数组的指针,用于接收设备枚举器的设备实例标识符(Device Instance Identifier)。 ulDeviceIDSize: pszEnumerator 缓冲区的大小,以...
Win32 API:CM_Enumerate_EnumeratorsA 函数(Cfgmgr32.h)
在 Win32 API 的 Cfgmgr32.h 头文件中确实有 CM_Enumerate_EnumeratorsA 函数。这个函数用于列举系统中的设备枚举器(Device Enumerators)。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Enumerate_EnumeratorsA( ULONG ulFlags, PDEVINSTID_A pszEnumerator, ULONG ulDeviceIDSize, PULONG pulLength, ULONG ulReserved);参数说明: ulFlags: 保留字段,必须为零。 pszEnumerator: 指向一个字符数组的指针,用于接收设备枚举器的设备实例标识符(Device Instance Identifier)。 ulDeviceIDSize: pszEnumerator 缓冲区的大小,以字节为单位。 pulLength: 指向一个变量的指针,用于接收实际返回的设备实例标识符的大小,以字节为单位。 ulReserved: 保留字段,必须为零。函数返回一个 CO...
Win32 API:CM_Enable_DevNode 函数(Cfgmgr32.h)
在 Win32 API 中,CM_Enable_DevNode 函数是 Cfgmgr32.h 头文件中的一个函数。这个函数用于启用指定的设备节点(Device Node)。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Enable_DevNode( DEVINST dnDevInst, ULONG ulFlags);参数说明: dnDevInst: 要启用的设备节点的设备实例句柄。 ulFlags: 保留字段,必须为零。函数返回一个 CONFIGRET 类型的值,用于指示操作的成功与否。可能的返回值包括: CR_SUCCESS: 操作成功。 其他值表示发生了错误,可以通过 CM_Get_Last_Error 函数获取详细的错误信息。这个函数通常用于在某些情况下重新启用之前禁用的设备节点。在使用这类底层的系统函数时,确保了解其在系统中的影响和正确使用方式。最好查阅相关的官方文档以获取详细信息。
Win32 API:CM_Disconnect_Machine 函数(Cfgmgr32.h)
在 Win32 API 中,CM_Disconnect_Machine 函数是 Cfgmgr32.h 头文件中的一个函数。这个函数用于断开与远程计算机的连接。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Disconnect_Machine( HMACHINE hMachine);参数说明: hMachine: 要断开连接的远程计算机的句柄。如果要断开与本地计算机的连接,可以传递 NULL。函数返回一个 CONFIGRET 类型的值,用于指示操作的成功与否。可能的返回值包括: CR_SUCCESS: 操作成功。 其他值表示发生了错误,可以通过 CM_Get_Last_Error 函数获取详细的错误信息。此函数通常用于在使用 CM_Connect_Machine 函数与远程计算机建立连接后,完成相关的配置操作后断开连接。在使用这类底层的系统函数时,确保了解其在系统中的影响和正确使用方式。最好查阅相关的官方文档以获取详细信息。
Win32 API:CM_Disable_DevNode_Ex 函数(Cfgmgr32.h)
在 Win32 API 中,CM_Disable_DevNode_Ex 函数是 Cfgmgr32.h 头文件中的一个函数。这个函数的作用是禁用设备节点(Device Node)。以下是该函数的基本信息:CMAPI CONFIGRET WINAPI CM_Disable_DevNode_Ex( DEVINST dnDevInst, ULONG ulFlags, HMACHINE hMachine);参数说明: dnDevInst: 要禁用的设备节点的设备实例句柄。 ulFlags: 保留字段,必须为零。 hMachine: 机器句柄,用于指定在哪个计算机上执行操作。可以使用 NULL 来表示本地计算机。函数返回一个 CONFIGRET 类型的值,用于指示操作的成功与否。可能的返回值包括: CR_SUCCESS: 操作成功。 其他值表示发生了错误,可以通过 CM_Get_Last_Error 函数获取详细的错误信息。需要注意的是,使用这类底层的系统函数需要小心,确保了解其在系统中的影响和正确使用方式。在使用前,最好查阅相关的官方文档以获取详细信息。
Win32 API:CM_Delete_Range 函数(Cfgmgr32.h)
CM_Delete_Range 函数是 Windows 配置管理器(Configuration Manager)的一个函数,用于删除资源范围列表中的一个范围。以下是 CM_Delete_Range 函数的基本声明:CMAPI CONFIGRET WINAPI CM_Delete_Range( _In_ RANGE_LIST rl, _In_ ULONG RangeIndex, _In_ ULONG ulFlags);参数说明: rl: 范围列表的句柄,表示要从中删除范围的资源范围列表。 RangeIndex: 要删除的范围的索引。 ulFlags: 标志位,用于指定删除范围时的一些选项。这个函数允许你从资源范围列表中删除指定索引处的范围。请注意,使用这类底层的配置管理器函数需要谨慎,确保对系统的更改是必要和合适的,否则可能导致系统 instabilities。详细的信息可以参考 Microsoft 的官方文档或开发者文档。要查看最新的 Windows API 文档,请访问 Microsoft 的官方文档网站:[https://docs.microsoft...
Win32 API:CM_Delete_DevNode_Key 函数(Cfgmgr32.h)
CM_Delete_DevNode_Key 函数是 Windows 配置管理器(Configuration Manager)的一个函数,用于删除设备节点(DevNode)的注册表项。这个函数允许你删除与指定设备节点关联的注册表键。以下是 CM_Delete_DevNode_Key 函数的基本声明:CMAPI CONFIGRET WINAPI CM_Delete_DevNode_Key( _In_ DEVINST dnDevInst, _In_ ULONG ulHardwareProfile, _In_ ULONG ulFlags);参数说明: dnDevInst: 设备节点的句柄,表示要删除注册表项的设备。 ulHardwareProfile: 硬件配置文件的标识符,用于指定要删除的硬件配置文件。可以使用 0 表示当前硬件配置文件。 ulFlags: 标志位,用于指定删除注册表项时的一些选项。这个函数允许你清理设备节点的注册表项,可能是在设备卸载或不再需要时使用。请注意,使用这类底层的配置管理器函数需要谨慎,确保对系统的更改是必要和合适的,否则可能导致系统 instabi...
Win32 API:CM_Create_Range_List 函数(Cfgmgr32.h)
CM_Create_Range_List 函数是 Windows 配置管理器(Configuration Manager)的一个函数,用于创建一个范围列表(Range List)。这个函数通常用于描述设备对资源(如内存或端口范围)的需求。以下是 CM_Create_Range_List 函数的基本声明:CMAPI CONFIGRET WINAPI CM_Create_Range_List( _Out_ PRANGE_LIST prl, _In_ ULONG ulFlags);参数说明: prl: 输出参数,返回一个范围列表的句柄。 ulFlags: 标志位,指定创建范围列表时的一些选项。范围列表是一个数据结构,用于表示资源的范围,比如内存范围或端口范围。一旦创建了范围列表,你可以使用其他函数向列表中添加范围或从中移除范围。请注意,使用这类底层的配置管理器函数需要谨慎,确保对系统的更改是必要和合适的,否则可能导致系统 instabilities。详细的信息可以参考 Microsoft 的官方文档或开发者文档。要查看最新的 Windows API 文档,请访问 Micro...
Win32 API:CM_Connect_MachineW 函数(Cfgmgr32.h)
CM_Connect_MachineW 是 Windows 操作系统中的一个 Win32 API 函数,属于配置管理器(Configuration Manager)部分。这个函数用于建立到指定机器的连接,以便在远程机器上执行配置管理器操作。下面是该函数的基本声明:CMAPI CONFIGRET WINAPI CM_Connect_MachineW( _In_ PCWSTR pszMachineName, _Out_ PHMACHINE phMachine);参数说明: pszMachineName: 要连接的机器的名称,以宽字符(Unicode)形式表示。 phMachine: 输出参数,返回一个机器句柄,用于后续的配置管理器操作。这个函数允许你在本地机器上连接到远程机器,从而执行一些设备管理的操作,例如配置设备信息等。在连接建立后,你可以使用返回的机器句柄在远程机器上执行配置管理器的函数,完成一些设备管理的任务。请注意,使用这类函数需要谨慎,并确保有足够的权限执行远程操作。详细的信息可以参考 Microsoft 的官方文档或开发者文档。