mirror of
https://github.com/reactos/reactos.git
synced 2025-05-06 18:31:26 +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.@]
|
||||
*/
|
||||
|
@ -172,7 +222,7 @@ WINAPI
|
|||
CMP_GetServerSideDeviceInstallFlags(
|
||||
_Out_ PULONG pulSSDIFlags,
|
||||
_In_ ULONG ulFlags,
|
||||
_In_ HMACHINE hMachine)
|
||||
_In_opt_ HMACHINE hMachine)
|
||||
{
|
||||
RPC_BINDING_HANDLE BindingHandle = NULL;
|
||||
CONFIGRET ret;
|
||||
|
@ -444,7 +494,7 @@ CMP_WaitNoPendingInstallEvents(
|
|||
CONFIGRET
|
||||
WINAPI
|
||||
CMP_WaitServicesAvailable(
|
||||
_In_ HMACHINE hMachine)
|
||||
_In_opt_ HMACHINE hMachine)
|
||||
{
|
||||
RPC_BINDING_HANDLE BindingHandle = NULL;
|
||||
CONFIGRET ret = CR_SUCCESS;
|
||||
|
@ -452,8 +502,17 @@ CMP_WaitServicesAvailable(
|
|||
|
||||
TRACE("CMP_WaitServicesAvailable(%p)\n", hMachine);
|
||||
|
||||
if (!PnpGetLocalHandles(&BindingHandle, NULL))
|
||||
return CR_FAILURE;
|
||||
if (hMachine != NULL)
|
||||
{
|
||||
BindingHandle = ((PMACHINE_INFO)hMachine)->BindingHandle;
|
||||
if (BindingHandle == NULL)
|
||||
return CR_FAILURE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!PnpGetLocalHandles(&BindingHandle, NULL))
|
||||
return CR_FAILURE;
|
||||
}
|
||||
|
||||
RpcTryExcept
|
||||
{
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Functions exported by Win2003 SP1
|
||||
@ stub CMP_GetBlockedDriverInfo
|
||||
@ stdcall CMP_GetBlockedDriverInfo(wstr ptr long ptr)
|
||||
@ stdcall CMP_GetServerSideDeviceInstallFlags(ptr long ptr)
|
||||
@ stdcall CMP_Init_Detection(long)
|
||||
@ stdcall CMP_RegisterNotification(ptr ptr long ptr)
|
||||
|
|
Loading…
Reference in a new issue