mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 16:12:58 +00:00
[SETUPAPI]
Implement CM_Is_Version_Available and CM_Is_Version_Available_Ex. svn path=/trunk/; revision=50610
This commit is contained in:
parent
0b0d97cc92
commit
d3bca39b11
2 changed files with 57 additions and 2 deletions
|
@ -2918,6 +2918,61 @@ CONFIGRET WINAPI CM_Is_Dock_Station_Present_Ex(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CM_Is_Version_Available_Ex [SETUPAPI.@]
|
||||||
|
*/
|
||||||
|
BOOL WINAPI CM_Is_Version_Available(
|
||||||
|
WORD wVersion)
|
||||||
|
{
|
||||||
|
TRACE("%hu\n", wVersion);
|
||||||
|
return CM_Is_Version_Available_Ex(wVersion, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CM_Is_Version_Available_Ex [SETUPAPI.@]
|
||||||
|
*/
|
||||||
|
BOOL WINAPI CM_Is_Version_Available_Ex(
|
||||||
|
WORD wVersion, HMACHINE hMachine)
|
||||||
|
{
|
||||||
|
RPC_BINDING_HANDLE BindingHandle = NULL;
|
||||||
|
WORD wServerVersion;
|
||||||
|
CONFIGRET ret;
|
||||||
|
|
||||||
|
TRACE("%hu %lx\n", wVersion, hMachine);
|
||||||
|
|
||||||
|
if (wVersion <= 0x400)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
if (hMachine != NULL)
|
||||||
|
{
|
||||||
|
BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
|
||||||
|
if (BindingHandle == NULL)
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!PnpGetLocalHandles(&BindingHandle, NULL))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
ret = PNP_GetVersion(BindingHandle, &wServerVersion);
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
ret = RpcStatusToCmStatus(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
if (ret != CR_SUCCESS)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return (wServerVersion >= wVersion);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CM_Locate_DevNodeA [SETUPAPI.@]
|
* CM_Locate_DevNodeA [SETUPAPI.@]
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -137,8 +137,8 @@
|
||||||
@ stub CM_Invert_Range_List
|
@ stub CM_Invert_Range_List
|
||||||
@ stdcall CM_Is_Dock_Station_Present(ptr)
|
@ stdcall CM_Is_Dock_Station_Present(ptr)
|
||||||
@ stdcall CM_Is_Dock_Station_Present_Ex(ptr long)
|
@ stdcall CM_Is_Dock_Station_Present_Ex(ptr long)
|
||||||
@ stub CM_Is_Version_Available
|
@ stdcall CM_Is_Version_Available(long)
|
||||||
@ stub CM_Is_Version_Available_Ex
|
@ stdcall CM_Is_Version_Available_Ex(long long)
|
||||||
@ stdcall CM_Locate_DevNodeA(ptr str long)
|
@ stdcall CM_Locate_DevNodeA(ptr str long)
|
||||||
@ stdcall CM_Locate_DevNodeW(ptr wstr long)
|
@ stdcall CM_Locate_DevNodeW(ptr wstr long)
|
||||||
@ stdcall CM_Locate_DevNode_ExA(ptr str long long)
|
@ stdcall CM_Locate_DevNode_ExA(ptr str long long)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue