}
+/***********************************************************************
+ * CM_Free_Log_Conf_Handle [SETUPAPI.@]
+ */
+CONFIGRET WINAPI CM_Free_Log_Conf_Handle(
+ LOG_CONF lcLogConf)
+{
+ PLOG_CONF_INFO pLogConfInfo;
+
+ TRACE("%lx\n", lcLogConf);
+
+ pLogConfInfo = (PLOG_CONF_INFO)lcLogConf;
+ if (pLogConfInfo == NULL || pLogConfInfo->ulMagic != LOG_CONF_MAGIC)
+ return CR_INVALID_LOG_CONF;
+
+ HeapFree(GetProcessHeap(), 0, pLogConfInfo);
+
+ return CR_SUCCESS;
+}
+
+
/***********************************************************************
* CM_Get_Child [SETUPAPI.@]
*/
@ stub CM_First_Range
@ stub CM_Free_Log_Conf
@ stub CM_Free_Log_Conf_Ex
-@ stub CM_Free_Log_Conf_Handle
+@ stdcall CM_Free_Log_Conf_Handle(ptr)
@ stub CM_Free_Range_List
@ stub CM_Free_Res_Des
@ stub CM_Free_Res_Des_Ex
#define CR_INVALID_FLAG 0x00000004
#define CR_INVALID_DEVNODE 0x00000005
#define CR_INVALID_DEVINST CR_INVALID_DEVNODE
+#define CR_INVALID_LOG_CONF 0x00000007
#define CR_NO_SUCH_DEVNODE 0x0000000D
#define CR_NO_SUCH_DEVINST CR_NO_SUCH_DEVNODE
#define CR_FAILURE 0x00000013
CONFIGRET WINAPI CM_Enumerate_Enumerators_ExA( ULONG, PCHAR, PULONG, ULONG, HMACHINE );
CONFIGRET WINAPI CM_Enumerate_Enumerators_ExW( ULONG, PWCHAR, PULONG, ULONG, HMACHINE );
#define CM_Enumerate_Enumerators_Ex WINELIB_NAME_AW(CM_Enumerate_Enumerators_Ex)
+CONFIGRET WINAPI CM_Free_Log_Conf_Handle( LOG_CONF );
CONFIGRET WINAPI CM_Get_Child( PDEVINST, DEVINST, ULONG );
CONFIGRET WINAPI CM_Get_Child_Ex( PDEVINST, DEVINST, ULONG, HMACHINE );
CONFIGRET WINAPI CM_Get_Class_Key_NameA( LPGUID, LPSTR, PULONG, ULONG );