mirror of
https://github.com/reactos/reactos.git
synced 2025-05-10 12:23:25 +00:00
[SETUPAPI]
- Implement CMP_GetBlockedDriverInfo. - Make sure that CMP_GetServerSideDeviceInstallFlags and CMP_WaitServicesAvailable can be called on local and remote machines. svn path=/trunk/; revision=75565
This commit is contained in:
parent
a6222fc8f3
commit
66de37e22f
2 changed files with 64 additions and 5 deletions
|
@ -164,6 +164,56 @@ GetRegistryPropertyType(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* CMP_GetBlockedDriverInfo [SETUPAPI.@]
|
||||||
|
*/
|
||||||
|
CONFIGRET
|
||||||
|
WINAPI
|
||||||
|
CMP_GetBlockedDriverInfo(
|
||||||
|
_Out_opt_ LPWSTR pszNames,
|
||||||
|
_Inout_ PULONG pulLength,
|
||||||
|
_In_ ULONG ulFlags,
|
||||||
|
_In_opt_ HMACHINE hMachine)
|
||||||
|
{
|
||||||
|
RPC_BINDING_HANDLE BindingHandle = NULL;
|
||||||
|
ULONG ulTransferLength;
|
||||||
|
CONFIGRET ret;
|
||||||
|
|
||||||
|
TRACE("CMP_GetBlockedDriverInfo(%p %p %lx %p)\n",
|
||||||
|
pszNames, pulLength, ulFlags, hMachine);
|
||||||
|
|
||||||
|
if (hMachine != NULL)
|
||||||
|
{
|
||||||
|
BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
|
||||||
|
if (BindingHandle == NULL)
|
||||||
|
return CR_FAILURE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!PnpGetLocalHandles(&BindingHandle, NULL))
|
||||||
|
return CR_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
ulTransferLength = *pulLength;
|
||||||
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
ret = PNP_GetBlockedDriverInfo(BindingHandle,
|
||||||
|
(PBYTE)pszNames,
|
||||||
|
&ulTransferLength,
|
||||||
|
pulLength,
|
||||||
|
ulFlags);
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
ret = RpcStatusToCmStatus(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CMP_GetServerSideDeviceInstallFlags [SETUPAPI.@]
|
* CMP_GetServerSideDeviceInstallFlags [SETUPAPI.@]
|
||||||
*/
|
*/
|
||||||
|
@ -172,7 +222,7 @@ WINAPI
|
||||||
CMP_GetServerSideDeviceInstallFlags(
|
CMP_GetServerSideDeviceInstallFlags(
|
||||||
_Out_ PULONG pulSSDIFlags,
|
_Out_ PULONG pulSSDIFlags,
|
||||||
_In_ ULONG ulFlags,
|
_In_ ULONG ulFlags,
|
||||||
_In_ HMACHINE hMachine)
|
_In_opt_ HMACHINE hMachine)
|
||||||
{
|
{
|
||||||
RPC_BINDING_HANDLE BindingHandle = NULL;
|
RPC_BINDING_HANDLE BindingHandle = NULL;
|
||||||
CONFIGRET ret;
|
CONFIGRET ret;
|
||||||
|
@ -444,7 +494,7 @@ CMP_WaitNoPendingInstallEvents(
|
||||||
CONFIGRET
|
CONFIGRET
|
||||||
WINAPI
|
WINAPI
|
||||||
CMP_WaitServicesAvailable(
|
CMP_WaitServicesAvailable(
|
||||||
_In_ HMACHINE hMachine)
|
_In_opt_ HMACHINE hMachine)
|
||||||
{
|
{
|
||||||
RPC_BINDING_HANDLE BindingHandle = NULL;
|
RPC_BINDING_HANDLE BindingHandle = NULL;
|
||||||
CONFIGRET ret = CR_SUCCESS;
|
CONFIGRET ret = CR_SUCCESS;
|
||||||
|
@ -452,8 +502,17 @@ CMP_WaitServicesAvailable(
|
||||||
|
|
||||||
TRACE("CMP_WaitServicesAvailable(%p)\n", hMachine);
|
TRACE("CMP_WaitServicesAvailable(%p)\n", hMachine);
|
||||||
|
|
||||||
|
if (hMachine != NULL)
|
||||||
|
{
|
||||||
|
BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
|
||||||
|
if (BindingHandle == NULL)
|
||||||
|
return CR_FAILURE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if (!PnpGetLocalHandles(&BindingHandle, NULL))
|
if (!PnpGetLocalHandles(&BindingHandle, NULL))
|
||||||
return CR_FAILURE;
|
return CR_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
RpcTryExcept
|
RpcTryExcept
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Functions exported by Win2003 SP1
|
# Functions exported by Win2003 SP1
|
||||||
@ stub CMP_GetBlockedDriverInfo
|
@ stdcall CMP_GetBlockedDriverInfo(wstr ptr long ptr)
|
||||||
@ stdcall CMP_GetServerSideDeviceInstallFlags(ptr long ptr)
|
@ stdcall CMP_GetServerSideDeviceInstallFlags(ptr long ptr)
|
||||||
@ stdcall CMP_Init_Detection(long)
|
@ stdcall CMP_Init_Detection(long)
|
||||||
@ stdcall CMP_RegisterNotification(ptr ptr long ptr)
|
@ stdcall CMP_RegisterNotification(ptr ptr long ptr)
|
||||||
|
|
Loading…
Reference in a new issue