Implement CM_Get_First_Log_Conf[_Ex] and add PNP_GetFirstLogConf stub.

svn path=/trunk/; revision=23074
This commit is contained in:
Eric Kohl 2006-07-16 12:11:26 +00:00
parent fc29d1edf0
commit 8135ef1f04
6 changed files with 111 additions and 4 deletions

View file

@ -1284,6 +1284,26 @@ PNP_FreeLogConf(handle_t BindingHandle,
}
/* Function 42 */
CONFIGRET
PNP_GetFirstLogConf(handle_t BindingHandle,
wchar_t *DeviceInstance,
ULONG ulPriority,
ULONG *pulLogConfTag,
ULONG ulFlags)
{
CONFIGRET ret = CR_SUCCESS;
DPRINT1("PNP_GetFirstLogConf() called\n");
*pulLogConfTag = 0; /* FIXME */
DPRINT1("PNP_GetFirstLogConf() done (returns %lx)\n", ret);
return ret;
}
/* Function 58 */
CONFIGRET
PNP_RunDetection(handle_t BindingHandle,

View file

@ -119,8 +119,8 @@ CM_Get_Device_ID_Size_Ex=SETUPAPI.CM_Get_Device_ID_Size_Ex
;CM_Get_Device_Interface_List_SizeW
;CM_Get_Device_Interface_List_Size_ExA
;CM_Get_Device_Interface_List_Size_ExW
;CM_Get_First_Log_Conf
;CM_Get_First_Log_Conf_Ex
CM_Get_First_Log_Conf=SETUPAPI.CM_Get_First_Log_Conf
CM_Get_First_Log_Conf_Ex=SETUPAPI.CM_Get_First_Log_Conf_Ex
CM_Get_Global_State=SETUPAPI.CM_Get_Global_State
CM_Get_Global_State_Ex=SETUPAPI.CM_Get_Global_State_Ex
CM_Get_HW_Prof_FlagsA=SETUPAPI.CM_Get_HW_Prof_FlagsA

View file

@ -1945,6 +1945,84 @@ CONFIGRET WINAPI CM_Get_Device_ID_Size_Ex(
}
/***********************************************************************
* CM_Get_First_Log_Conf [SETUPAPI.@]
*/
CONFIGRET WINAPI CM_Get_First_Log_Conf(
PLOG_CONF plcLogConf, DEVINST dnDevInst, ULONG ulFlags)
{
TRACE("%p %lx %lx\n", plcLogConf, dnDevInst, ulFlags);
return CM_Get_First_Log_Conf_Ex(plcLogConf, dnDevInst, ulFlags, NULL);
}
/***********************************************************************
* CM_Get_First_Log_Conf_Ex [SETUPAPI.@]
*/
CONFIGRET WINAPI CM_Get_First_Log_Conf_Ex(
PLOG_CONF plcLogConf, DEVINST dnDevInst, ULONG ulFlags, HMACHINE hMachine)
{
RPC_BINDING_HANDLE BindingHandle = NULL;
HSTRING_TABLE StringTable = NULL;
LPWSTR lpDevInst = NULL;
CONFIGRET ret = CR_SUCCESS;
ULONG ulTag;
PLOG_CONF_INFO pLogConfInfo;
FIXME("%p %lx %lx %lx\n", plcLogConf, dnDevInst, ulFlags, hMachine);
if (dnDevInst == 0)
return CR_INVALID_DEVINST;
if (ulFlags & ~LOG_CONF_BITS)
return CR_INVALID_FLAG;
if (plcLogConf)
*plcLogConf = 0;
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, dnDevInst);
if (lpDevInst == NULL)
return CR_INVALID_DEVNODE;
ret = PNP_GetFirstLogConf(BindingHandle,
lpDevInst,
ulFlags,
&ulTag,
ulFlags);
if (ret != CR_SUCCESS)
return ret;
pLogConfInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(LOG_CONF_INFO));
if (pLogConfInfo == NULL)
return CR_OUT_OF_MEMORY;
pLogConfInfo->ulMagic = LOG_CONF_MAGIC;
pLogConfInfo->dnDevInst = dnDevInst;
pLogConfInfo->ulFlags = ulFlags;
pLogConfInfo->ulTag = ulTag;
*plcLogConf = (LOG_CONF)pLogConfInfo;
return CR_SUCCESS;
}
/***********************************************************************
* CM_Get_Global_State [SETUPAPI.@]
*/

View file

@ -97,8 +97,8 @@
@ stub CM_Get_Device_Interface_List_SizeW
@ stub CM_Get_Device_Interface_List_Size_ExA
@ stub CM_Get_Device_Interface_List_Size_ExW
@ stub CM_Get_First_Log_Conf
@ stub CM_Get_First_Log_Conf_Ex
@ stdcall CM_Get_First_Log_Conf(ptr long long)
@ stdcall CM_Get_First_Log_Conf_Ex(ptr long long long)
@ stdcall CM_Get_Global_State(ptr long)
@ stdcall CM_Get_Global_State_Ex(ptr long long)
@ stdcall CM_Get_HW_Prof_FlagsA(str long ptr long)

View file

@ -212,6 +212,13 @@ interface pnp
[in] ULONG ulLogConfTag,
[in] ULONG ulFlags);
/* Function 44 */
CONFIGRET PNP_GetFirstLogConf(handle_t BindingHandle,
[in, string] wchar_t *DeviceInstance,
[in] ULONG ulPriority,
[out] ULONG *pulLogConfTag,
[in] ULONG ulFlags);
/* Function 58 */
CONFIGRET PNP_RunDetection(handle_t BindingHandle,
[in] unsigned long Flags);

View file

@ -297,6 +297,8 @@ CONFIGRET WINAPI CM_Get_Device_ID_List_Size_ExW( PULONG, PCWSTR, ULONG, HMACHINE
#define CM_Get_Device_ID_List_Size_Ex WINELIB_NAME_AW(CM_Get_Device_ID_List_Size_Ex)
CONFIGRET WINAPI CM_Get_Device_ID_Size( PULONG, DEVINST, ULONG );
CONFIGRET WINAPI CM_Get_Device_ID_Size_Ex( PULONG, DEVINST, ULONG, HMACHINE );
CONFIGRET WINAPI CM_Get_First_Log_Conf( PLOG_CONF, DEVINST, ULONG );
CONFIGRET WINAPI CM_Get_First_Log_Conf_Ex( PLOG_CONF, DEVINST, ULONG, HMACHINE );
CONFIGRET WINAPI CM_Get_Global_State( PULONG, ULONG );
CONFIGRET WINAPI CM_Get_Global_State_Ex( PULONG, ULONG, HMACHINE );
CONFIGRET WINAPI CM_Get_HW_Prof_FlagsA( DEVINSTID_A, ULONG, PULONG, ULONG );