mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 02:32:57 +00:00
Implement CM_Free_Log_Conf[_Ex] and add PNP_FreeLogConf stub.
svn path=/trunk/; revision=23049
This commit is contained in:
parent
20ce435a3b
commit
b41eb98534
6 changed files with 95 additions and 8 deletions
|
@ -1250,14 +1250,14 @@ CONFIGRET
|
||||||
PNP_AddEmptyLogConf(handle_t BindingHandle,
|
PNP_AddEmptyLogConf(handle_t BindingHandle,
|
||||||
wchar_t *DeviceInstance,
|
wchar_t *DeviceInstance,
|
||||||
ULONG ulPriority,
|
ULONG ulPriority,
|
||||||
ULONG *ulLogConfTag,
|
ULONG *pulLogConfTag,
|
||||||
ULONG ulFlags)
|
ULONG ulFlags)
|
||||||
{
|
{
|
||||||
CONFIGRET ret = CR_SUCCESS;
|
CONFIGRET ret = CR_SUCCESS;
|
||||||
|
|
||||||
DPRINT1("PNP_AddEmptyLogConf() called\n");
|
DPRINT1("PNP_AddEmptyLogConf() called\n");
|
||||||
|
|
||||||
*ulLogConfTag = 0; /* FIXME */
|
*pulLogConfTag = 0; /* FIXME */
|
||||||
|
|
||||||
DPRINT1("PNP_AddEmptyLogConf() done (returns %lx)\n", ret);
|
DPRINT1("PNP_AddEmptyLogConf() done (returns %lx)\n", ret);
|
||||||
|
|
||||||
|
@ -1265,6 +1265,25 @@ PNP_AddEmptyLogConf(handle_t BindingHandle,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Function 43 */
|
||||||
|
CONFIGRET
|
||||||
|
PNP_FreeLogConf(handle_t BindingHandle,
|
||||||
|
wchar_t *DeviceInstance,
|
||||||
|
ULONG ulType,
|
||||||
|
ULONG ulLogConfTag,
|
||||||
|
ULONG ulFlags)
|
||||||
|
{
|
||||||
|
CONFIGRET ret = CR_SUCCESS;
|
||||||
|
|
||||||
|
DPRINT1("PNP_FreeLogConf() called\n");
|
||||||
|
|
||||||
|
|
||||||
|
DPRINT1("PNP_FreeLogConf() done (returns %lx)\n", ret);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Function 58 */
|
/* Function 58 */
|
||||||
CONFIGRET
|
CONFIGRET
|
||||||
PNP_RunDetection(handle_t BindingHandle,
|
PNP_RunDetection(handle_t BindingHandle,
|
||||||
|
|
|
@ -68,9 +68,9 @@ CM_Enumerate_Enumerators_ExA=SETUPAPI.CM_Enumerate_Enumerators_ExA
|
||||||
CM_Enumerate_Enumerators_ExW=SETUPAPI.CM_Enumerate_Enumerators_ExW
|
CM_Enumerate_Enumerators_ExW=SETUPAPI.CM_Enumerate_Enumerators_ExW
|
||||||
;CM_Find_Range
|
;CM_Find_Range
|
||||||
;CM_First_Range
|
;CM_First_Range
|
||||||
;CM_Free_Log_Conf
|
CM_Free_Log_Conf=SETUPAPI.CM_Free_Log_Conf
|
||||||
;CM_Free_Log_Conf_Ex
|
CM_Free_Log_Conf_Ex=SETUPAPI.CM_Free_Log_Conf_Ex
|
||||||
CM_Free_Log_Conf_Handle@4=SETUPAPI.CM_Free_Log_Conf_Handle
|
CM_Free_Log_Conf_Handle=SETUPAPI.CM_Free_Log_Conf_Handle
|
||||||
;CM_Free_Range_List
|
;CM_Free_Range_List
|
||||||
;CM_Free_Res_Des
|
;CM_Free_Res_Des
|
||||||
;CM_Free_Res_Des_Ex
|
;CM_Free_Res_Des_Ex
|
||||||
|
|
|
@ -918,6 +918,65 @@ CONFIGRET WINAPI CM_Enumerate_Enumerators_ExW(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CM_Free_Log_Conf [SETUPAPI.@]
|
||||||
|
*/
|
||||||
|
CONFIGRET WINAPI CM_Free_Log_Conf(
|
||||||
|
LOG_CONF lcLogConfToBeFreed, ULONG ulFlags)
|
||||||
|
{
|
||||||
|
TRACE("%lx %lx\n", lcLogConfToBeFreed, ulFlags);
|
||||||
|
return CM_Free_Log_Conf_Ex(lcLogConfToBeFreed, ulFlags, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CM_Free_Log_Conf_Ex [SETUPAPI.@]
|
||||||
|
*/
|
||||||
|
CONFIGRET WINAPI CM_Free_Log_Conf_Ex(
|
||||||
|
LOG_CONF lcLogConfToBeFreed, ULONG ulFlags, HMACHINE hMachine)
|
||||||
|
{
|
||||||
|
RPC_BINDING_HANDLE BindingHandle = NULL;
|
||||||
|
HSTRING_TABLE StringTable = NULL;
|
||||||
|
LPWSTR lpDevInst;
|
||||||
|
PLOG_CONF_INFO pLogConfInfo;
|
||||||
|
|
||||||
|
TRACE("%lx %lx %lx\n", lcLogConfToBeFreed, ulFlags, hMachine);
|
||||||
|
|
||||||
|
if (!IsUserAdmin())
|
||||||
|
return CR_ACCESS_DENIED;
|
||||||
|
|
||||||
|
pLogConfInfo = (PLOG_CONF_INFO)lcLogConfToBeFreed;
|
||||||
|
if (pLogConfInfo == NULL || pLogConfInfo->ulMagic != LOG_CONF_MAGIC)
|
||||||
|
return CR_INVALID_LOG_CONF;
|
||||||
|
|
||||||
|
if (ulFlags != 0)
|
||||||
|
return CR_INVALID_FLAG;
|
||||||
|
|
||||||
|
if (hMachine != NULL)
|
||||||
|
{
|
||||||
|
BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
|
||||||
|
if (BindingHandle == NULL)
|
||||||
|
return CR_FAILURE;
|
||||||
|
|
||||||
|
StringTable = ((PMACHINE_INFO)hMachine)->StringTable;
|
||||||
|
if (StringTable == 0)
|
||||||
|
return CR_FAILURE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!PnpGetLocalHandles(&BindingHandle, &StringTable))
|
||||||
|
return CR_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
lpDevInst = StringTableStringFromId(StringTable, pLogConfInfo->dnDevInst);
|
||||||
|
if (lpDevInst == NULL)
|
||||||
|
return CR_INVALID_DEVNODE;
|
||||||
|
|
||||||
|
return PNP_FreeLogConf(BindingHandle, lpDevInst, pLogConfInfo->ulFlags,
|
||||||
|
pLogConfInfo->ulTag, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CM_Free_Log_Conf_Handle [SETUPAPI.@]
|
* CM_Free_Log_Conf_Handle [SETUPAPI.@]
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -46,8 +46,8 @@
|
||||||
@ stdcall CM_Enumerate_Enumerators_ExW(long wstr ptr long long)
|
@ stdcall CM_Enumerate_Enumerators_ExW(long wstr ptr long long)
|
||||||
@ stub CM_Find_Range
|
@ stub CM_Find_Range
|
||||||
@ stub CM_First_Range
|
@ stub CM_First_Range
|
||||||
@ stub CM_Free_Log_Conf
|
@ stdcall CM_Free_Log_Conf(ptr long)
|
||||||
@ stub CM_Free_Log_Conf_Ex
|
@ stdcall CM_Free_Log_Conf_Ex(ptr long ptr)
|
||||||
@ stdcall CM_Free_Log_Conf_Handle(ptr)
|
@ stdcall CM_Free_Log_Conf_Handle(ptr)
|
||||||
@ stub CM_Free_Range_List
|
@ stub CM_Free_Range_List
|
||||||
@ stub CM_Free_Res_Des
|
@ stub CM_Free_Res_Des
|
||||||
|
|
|
@ -202,9 +202,16 @@ interface pnp
|
||||||
CONFIGRET PNP_AddEmptyLogConf(handle_t BindingHandle,
|
CONFIGRET PNP_AddEmptyLogConf(handle_t BindingHandle,
|
||||||
[in, string] wchar_t *DeviceInstance,
|
[in, string] wchar_t *DeviceInstance,
|
||||||
[in] ULONG ulPriority,
|
[in] ULONG ulPriority,
|
||||||
[out] ULONG *ulLogConfTag,
|
[out] ULONG *pulLogConfTag,
|
||||||
[in] ULONG ulFlags);
|
[in] ULONG ulFlags);
|
||||||
|
|
||||||
|
/* Function 43 */
|
||||||
|
CONFIGRET PNP_FreeLogConf(handle_t BindingHandle,
|
||||||
|
[in, string] wchar_t *DeviceInstance,
|
||||||
|
[in] ULONG ulType,
|
||||||
|
[in] ULONG ulLogConfTag,
|
||||||
|
[in] ULONG ulFlags);
|
||||||
|
|
||||||
/* Function 58 */
|
/* Function 58 */
|
||||||
CONFIGRET PNP_RunDetection(handle_t BindingHandle,
|
CONFIGRET PNP_RunDetection(handle_t BindingHandle,
|
||||||
[in] unsigned long Flags);
|
[in] unsigned long Flags);
|
||||||
|
|
|
@ -250,6 +250,8 @@ CONFIGRET WINAPI CM_Enumerate_EnumeratorsW( ULONG, PWCHAR, PULONG, ULONG );
|
||||||
CONFIGRET WINAPI CM_Enumerate_Enumerators_ExA( ULONG, PCHAR, PULONG, ULONG, HMACHINE );
|
CONFIGRET WINAPI CM_Enumerate_Enumerators_ExA( ULONG, PCHAR, PULONG, ULONG, HMACHINE );
|
||||||
CONFIGRET WINAPI CM_Enumerate_Enumerators_ExW( ULONG, PWCHAR, 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)
|
#define CM_Enumerate_Enumerators_Ex WINELIB_NAME_AW(CM_Enumerate_Enumerators_Ex)
|
||||||
|
CONFIGRET WINAPI CM_Free_Log_Conf( LOG_CONF, ULONG );
|
||||||
|
CONFIGRET WINAPI CM_Free_Log_Conf_Ex( LOG_CONF, ULONG, HMACHINE );
|
||||||
CONFIGRET WINAPI CM_Free_Log_Conf_Handle( LOG_CONF );
|
CONFIGRET WINAPI CM_Free_Log_Conf_Handle( LOG_CONF );
|
||||||
CONFIGRET WINAPI CM_Get_Child( PDEVINST, DEVINST, ULONG );
|
CONFIGRET WINAPI CM_Get_Child( PDEVINST, DEVINST, ULONG );
|
||||||
CONFIGRET WINAPI CM_Get_Child_Ex( PDEVINST, DEVINST, ULONG, HMACHINE );
|
CONFIGRET WINAPI CM_Get_Child_Ex( PDEVINST, DEVINST, ULONG, HMACHINE );
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue