mirror of
https://github.com/reactos/reactos.git
synced 2025-08-02 06:15:52 +00:00
Implement CM_Set_HW_Prof_Flags[_Ex]A/W.
svn path=/trunk/; revision=22600
This commit is contained in:
parent
78baad6812
commit
92d62b0f19
5 changed files with 162 additions and 10 deletions
|
@ -195,10 +195,10 @@ CM_Set_DevNode_Registry_Property_ExA@24=SETUPAPI.CM_Set_DevNode_Registry_Propert
|
|||
CM_Set_DevNode_Registry_Property_ExW@24=SETUPAPI.CM_Set_DevNode_Registry_Property_ExW
|
||||
;CM_Set_HW_Prof
|
||||
;CM_Set_HW_Prof_Ex
|
||||
;CM_Set_HW_Prof_FlagsA
|
||||
;CM_Set_HW_Prof_FlagsW
|
||||
;CM_Set_HW_Prof_Flags_ExA
|
||||
;CM_Set_HW_Prof_Flags_ExW
|
||||
CM_Set_HW_Prof_FlagsA@16=SETUPAPI.CM_Set_HW_Prof_FlagsA
|
||||
CM_Set_HW_Prof_FlagsW@16=SETUPAPI.CM_Set_HW_Prof_FlagsW
|
||||
CM_Set_HW_Prof_Flags_ExA@20=SETUPAPI.CM_Set_HW_Prof_Flags_ExA
|
||||
CM_Set_HW_Prof_Flags_ExW@20=SETUPAPI.CM_Set_HW_Prof_Flags_ExW
|
||||
CM_Setup_DevNode@8=SETUPAPI.CM_Setup_DevNode
|
||||
CM_Setup_DevNode_Ex@12=SETUPAPI.CM_Setup_DevNode_Ex
|
||||
;CM_Test_Range_Available
|
||||
|
|
|
@ -2934,6 +2934,100 @@ CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExW(
|
|||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* CM_Set_HW_Prof_FlagsA [SETUPAPI.@]
|
||||
*/
|
||||
CONFIGRET WINAPI CM_Set_HW_Prof_FlagsA(
|
||||
DEVINSTID_A szDevInstName, ULONG ulConfig, ULONG ulValue,
|
||||
ULONG ulFlags)
|
||||
{
|
||||
TRACE("%s %lu %lu %lx\n", szDevInstName,
|
||||
ulConfig, ulValue, ulFlags);
|
||||
return CM_Set_HW_Prof_Flags_ExA(szDevInstName, ulConfig, ulValue,
|
||||
ulFlags, NULL);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* CM_Set_HW_Prof_FlagsW [SETUPAPI.@]
|
||||
*/
|
||||
CONFIGRET WINAPI CM_Set_HW_Prof_FlagsW(
|
||||
DEVINSTID_W szDevInstName, ULONG ulConfig, ULONG ulValue,
|
||||
ULONG ulFlags)
|
||||
{
|
||||
TRACE("%s %lu %lu %lx\n", debugstr_w(szDevInstName),
|
||||
ulConfig, ulValue, ulFlags);
|
||||
return CM_Set_HW_Prof_Flags_ExW(szDevInstName, ulConfig, ulValue,
|
||||
ulFlags, NULL);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* CM_Set_HW_Prof_Flags_ExA [SETUPAPI.@]
|
||||
*/
|
||||
CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExA(
|
||||
DEVINSTID_A szDevInstName, ULONG ulConfig, ULONG ulValue,
|
||||
ULONG ulFlags, HMACHINE hMachine)
|
||||
{
|
||||
DEVINSTID_W pszDevIdW = NULL;
|
||||
CONFIGRET ret = CR_SUCCESS;
|
||||
|
||||
TRACE("%s %lu %lu %lx %lx\n", szDevInstName,
|
||||
ulConfig, ulValue, ulFlags, hMachine);
|
||||
|
||||
if (szDevInstName != NULL)
|
||||
{
|
||||
if (CaptureAndConvertAnsiArg(szDevInstName, &pszDevIdW))
|
||||
return CR_INVALID_DEVICE_ID;
|
||||
}
|
||||
|
||||
ret = CM_Set_HW_Prof_Flags_ExW(pszDevIdW, ulConfig, ulValue,
|
||||
ulFlags, hMachine);
|
||||
|
||||
if (pszDevIdW != NULL)
|
||||
MyFree(pszDevIdW);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* CM_Set_HW_Prof_Flags_ExW [SETUPAPI.@]
|
||||
*/
|
||||
CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExW(
|
||||
DEVINSTID_W szDevInstName, ULONG ulConfig, ULONG ulValue,
|
||||
ULONG ulFlags, HMACHINE hMachine)
|
||||
{
|
||||
RPC_BINDING_HANDLE BindingHandle = NULL;
|
||||
|
||||
FIXME("%s %lu %lu %lx %lx\n", debugstr_w(szDevInstName),
|
||||
ulConfig, ulValue, ulFlags, hMachine);
|
||||
|
||||
if (szDevInstName == NULL)
|
||||
return CR_INVALID_POINTER;
|
||||
|
||||
if (ulFlags & ~ CM_SET_HW_PROF_FLAGS_BITS)
|
||||
return CR_INVALID_FLAG;
|
||||
|
||||
/* FIXME: Check whether szDevInstName is valid */
|
||||
|
||||
if (hMachine != NULL)
|
||||
{
|
||||
BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
|
||||
if (BindingHandle == NULL)
|
||||
return CR_FAILURE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!PnpGetLocalHandles(&BindingHandle, NULL))
|
||||
return CR_FAILURE;
|
||||
}
|
||||
|
||||
return PNP_HwProfFlags(BindingHandle, PNP_SET_HW_PROFILE_FLAGS, szDevInstName,
|
||||
ulConfig, &ulValue, 0);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* CM_Setup_DevNode [SETUPAPI.@]
|
||||
*/
|
||||
|
|
|
@ -179,10 +179,10 @@
|
|||
@ stdcall CM_Set_DevNode_Registry_Property_ExW(long long ptr long long long)
|
||||
@ stub CM_Set_HW_Prof
|
||||
@ stub CM_Set_HW_Prof_Ex
|
||||
@ stub CM_Set_HW_Prof_FlagsA
|
||||
@ stub CM_Set_HW_Prof_FlagsW
|
||||
@ stub CM_Set_HW_Prof_Flags_ExA
|
||||
@ stub CM_Set_HW_Prof_Flags_ExW
|
||||
@ stdcall CM_Set_HW_Prof_FlagsA(str long long long)
|
||||
@ stdcall CM_Set_HW_Prof_FlagsW(wstr long long long)
|
||||
@ stdcall CM_Set_HW_Prof_Flags_ExA(str long long long long)
|
||||
@ stdcall CM_Set_HW_Prof_Flags_ExW(wstr long long long long)
|
||||
@ stdcall CM_Setup_DevNode(long long)
|
||||
@ stdcall CM_Setup_DevNode_Ex(long long long)
|
||||
@ stub CM_Test_Range_Available
|
||||
|
|
|
@ -2072,8 +2072,57 @@ CM_Set_DevNode_Registry_Property_ExW(
|
|||
|
||||
/* FIXME: Obsolete CM_Set_HW_Prof */
|
||||
/* FIXME: Obsolete CM_Set_HW_Prof_Ex */
|
||||
/* FIXME: Obsolete CM_Set_HW_Prof_Flags */
|
||||
/* FIXME: Obsolete CM_Set_HW_Prof_Flags_Ex */
|
||||
|
||||
/* CM_Set_HW_Prof_Flags[_Ex].ulFlags constants */
|
||||
#define CM_SET_HW_PROF_FLAGS_UI_NOT_OK (0x00000001)
|
||||
#define CM_SET_HW_PROF_FLAGS_BITS (0x00000001)
|
||||
|
||||
CMAPI
|
||||
CONFIGRET
|
||||
WINAPI
|
||||
CM_Set_HW_Prof_FlagsA(
|
||||
IN DEVINSTID_A szDevInstName,
|
||||
IN ULONG ulConfig,
|
||||
IN ULONG ulValue,
|
||||
IN ULONG ulFlags);
|
||||
|
||||
CMAPI
|
||||
CONFIGRET
|
||||
WINAPI
|
||||
CM_Set_HW_Prof_FlagsW(
|
||||
IN DEVINSTID_W szDevInstName,
|
||||
IN ULONG ulConfig,
|
||||
IN ULONG ulValue,
|
||||
IN ULONG ulFlags);
|
||||
|
||||
CMAPI
|
||||
CONFIGRET
|
||||
WINAPI
|
||||
CM_Set_HW_Prof_Flags_ExA(
|
||||
IN DEVINSTID_A szDevInstName,
|
||||
IN ULONG ulConfig,
|
||||
IN ULONG ulValue,
|
||||
IN ULONG ulFlags,
|
||||
IN HMACHINE hMachine);
|
||||
|
||||
CMAPI
|
||||
CONFIGRET
|
||||
WINAPI
|
||||
CM_Set_HW_Prof_Flags_ExW(
|
||||
IN DEVINSTID_W szDevInstName,
|
||||
IN ULONG ulConfig,
|
||||
IN ULONG ulValue,
|
||||
IN ULONG ulFlags,
|
||||
IN HMACHINE hMachine);
|
||||
|
||||
#ifdef UNICODE
|
||||
#define CM_Set_HW_Prof_Flags CM_Set_HW_Prof_FlagsW
|
||||
#define CM_Set_HW_Prof_Flags_Ex CM_Set_HW_Prof_Flags_ExW
|
||||
#else
|
||||
#define CM_Set_HW_Prof_Flags CM_Set_HW_Prof_FlagsA
|
||||
#define CM_Set_HW_Prof_Flags_Ex CM_Set_HW_Prof_Flags_ExA
|
||||
#endif /* UNICODE */
|
||||
|
||||
/* FIXME: Obsolete CM_Setup_DevNode */
|
||||
/* FIXME: Obsolete CM_Setup_DevNode_Ex */
|
||||
/* FIXME: Obsolete CM_Test_Range_Available */
|
||||
|
|
|
@ -185,6 +185,9 @@ DECL_WINELIB_CFGMGR32_TYPE_AW(DEVINSTID)
|
|||
#define CM_CREATE_DEVINST_DO_NOT_INSTALL CM_CREATE_DEVNODE_DO_NOT_INSTALL
|
||||
#define CM_CREATE_DEVINST_BITS CM_CREATE_DEVNODE_BITS
|
||||
|
||||
/* ulFlags for CM_Set_HW_Prof_Flags[_Ex]A/W */
|
||||
#define CM_SET_HW_PROF_FLAGS_UI_NOT_OK 0x00000001
|
||||
#define CM_SET_HW_PROF_FLAGS_BITS 0x00000001
|
||||
|
||||
#define CMP_MAGIC 0x01234567
|
||||
|
||||
|
@ -319,6 +322,12 @@ CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExA( DEVINST, ULONG, PCVOID, U
|
|||
CONFIGRET WINAPI CM_Set_DevNode_Registry_Property_ExW( DEVINST, ULONG, PCVOID, ULONG, ULONG, HMACHINE );
|
||||
#define CM_Set_DevNode_Registry_Property_Ex WINELIB_NAME_AW(CM_Set_DevNode_Registry_Property_Ex)
|
||||
|
||||
CONFIGRET WINAPI CM_Set_HW_Prof_FlagsA( DEVINSTID_A, ULONG, ULONG, ULONG );
|
||||
CONFIGRET WINAPI CM_Set_HW_Prof_FlagsW( DEVINSTID_W, ULONG, ULONG, ULONG );
|
||||
#define CM_Set_HW_Prof_Flags WINELIB_NAME_AW(CM_Set_HW_Prof_Flags)
|
||||
CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExA( DEVINSTID_A, ULONG, ULONG, ULONG, HMACHINE );
|
||||
CONFIGRET WINAPI CM_Set_HW_Prof_Flags_ExW( DEVINSTID_W, ULONG, ULONG, ULONG, HMACHINE );
|
||||
#define CM_Set_HW_Prof_Flags_Ex WINELIB_NAME_AW(CM_Set_HW_Prof_Flags_Ex)
|
||||
CONFIGRET WINAPI CM_Setup_DevNode( DEVINST, ULONG );
|
||||
CONFIGRET WINAPI CM_Setup_DevNode_Ex( DEVINST, ULONG, HMACHINE );
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue