2010-08-27 11:45:11 +02:00
|
|
|
/*
|
|
|
|
* Copyright 2010 Louis Lenders
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <stdarg.h>
|
|
|
|
|
|
|
|
#include "windef.h"
|
|
|
|
#include "winbase.h"
|
|
|
|
#include "wine/debug.h"
|
|
|
|
|
2010-09-09 18:19:41 +02:00
|
|
|
#include "restartmanager.h"
|
|
|
|
|
2010-08-27 11:45:11 +02:00
|
|
|
WINE_DEFAULT_DEBUG_CHANNEL(rstrtmgr);
|
|
|
|
|
|
|
|
/*****************************************************
|
|
|
|
* DllMain
|
|
|
|
*/
|
|
|
|
BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
|
|
|
|
{
|
|
|
|
TRACE("(%p, %d, %p)\n", hinst, reason, reserved);
|
|
|
|
|
|
|
|
switch(reason)
|
|
|
|
{
|
|
|
|
case DLL_WINE_PREATTACH:
|
|
|
|
return FALSE; /* prefer native version */
|
|
|
|
|
|
|
|
case DLL_PROCESS_ATTACH:
|
|
|
|
DisableThreadLibraryCalls( hinst );
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return TRUE;
|
|
|
|
}
|
2010-08-27 23:56:52 +02:00
|
|
|
|
2010-09-09 18:19:41 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* RmGetList (rstrtmgr.@)
|
|
|
|
*
|
|
|
|
* Retrieve the list of all applications and services using resources registered with the Restart Manager session
|
|
|
|
*/
|
|
|
|
DWORD WINAPI RmGetList(DWORD dwSessionHandle, UINT *pnProcInfoNeeded, UINT *pnProcInfo,
|
|
|
|
RM_PROCESS_INFO *rgAffectedApps[], LPDWORD lpdwRebootReasons)
|
|
|
|
{
|
|
|
|
FIXME("%d, %p, %p, %p, %p stub!\n", dwSessionHandle, pnProcInfoNeeded, pnProcInfo, rgAffectedApps, lpdwRebootReasons);
|
2019-10-27 11:16:47 +01:00
|
|
|
if (pnProcInfoNeeded)
|
|
|
|
*pnProcInfoNeeded = 0;
|
|
|
|
if (pnProcInfo)
|
|
|
|
*pnProcInfo = 0;
|
|
|
|
return ERROR_SUCCESS;
|
2010-09-09 18:19:41 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* RmRegisterResources (rstrtmgr.@)
|
|
|
|
*
|
|
|
|
* Register resources for a Restart Manager session
|
|
|
|
*/
|
|
|
|
DWORD WINAPI RmRegisterResources(DWORD dwSessionHandle, UINT nFiles, LPCWSTR rgsFilenames[],
|
|
|
|
UINT nApplications, RM_UNIQUE_PROCESS *rgApplications,
|
|
|
|
UINT nServices, LPCWSTR rgsServiceNames[])
|
|
|
|
{
|
|
|
|
FIXME("%d, %d, %p, %d, %p, %d, %p stub!\n", dwSessionHandle, nFiles, rgsFilenames,
|
|
|
|
nApplications, rgApplications, nServices, rgsServiceNames);
|
2019-10-27 11:16:47 +01:00
|
|
|
return ERROR_SUCCESS;
|
2010-09-09 18:19:41 +02:00
|
|
|
}
|
|
|
|
|
2010-08-27 23:56:52 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* RmStartSession (rstrtmgr.@)
|
|
|
|
*
|
2010-09-09 18:19:41 +02:00
|
|
|
* Start a new Restart Manager session
|
2010-08-27 23:56:52 +02:00
|
|
|
*/
|
|
|
|
DWORD WINAPI RmStartSession(DWORD *sessionhandle, DWORD flags, WCHAR sessionkey[])
|
|
|
|
{
|
|
|
|
FIXME("%p, %d, %p stub!\n", sessionhandle, flags, sessionkey);
|
2019-10-27 11:16:47 +01:00
|
|
|
if (sessionhandle)
|
|
|
|
*sessionhandle = 0xdeadbeef;
|
|
|
|
return ERROR_SUCCESS;
|
2010-08-27 23:56:52 +02:00
|
|
|
}
|
2010-11-18 12:08:58 +01:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* RmRestart (rstrtmgr.@)
|
|
|
|
*/
|
2017-01-26 16:48:28 +01:00
|
|
|
DWORD WINAPI RmRestart(DWORD handle, DWORD flags, RM_WRITE_STATUS_CALLBACK status)
|
2010-11-18 12:08:58 +01:00
|
|
|
{
|
2017-01-26 16:48:28 +01:00
|
|
|
FIXME("%u, 0x%08x, %p stub!\n", handle, flags, status);
|
2019-10-27 11:16:47 +01:00
|
|
|
return ERROR_SUCCESS;
|
2010-11-18 12:08:58 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* RmEndSession (rstrtmgr.@)
|
|
|
|
*/
|
|
|
|
DWORD WINAPI RmEndSession(DWORD handle)
|
|
|
|
{
|
|
|
|
FIXME("%u stub!\n", handle);
|
2019-10-27 11:16:47 +01:00
|
|
|
return ERROR_SUCCESS;
|
2010-11-18 12:08:58 +01:00
|
|
|
}
|
2016-12-28 09:18:13 +01:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* RmShutdown (rstrtmgr.@)
|
|
|
|
*/
|
|
|
|
DWORD WINAPI RmShutdown(DWORD handle, ULONG flags, RM_WRITE_STATUS_CALLBACK status)
|
|
|
|
{
|
|
|
|
FIXME("%u, 0x%08x, %p stub!\n", handle, flags, status);
|
2019-10-27 11:16:47 +01:00
|
|
|
return ERROR_SUCCESS;
|
2016-12-28 09:18:13 +01:00
|
|
|
}
|
2019-10-27 11:16:48 +01:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* RmAddFilter (rstrtmgr.@)
|
|
|
|
*/
|
|
|
|
DWORD WINAPI RmAddFilter(DWORD handle, LPCWSTR moduleName, RM_UNIQUE_PROCESS *process,
|
|
|
|
LPCWSTR serviceShortName, RM_FILTER_ACTION filter)
|
|
|
|
{
|
|
|
|
FIXME("%u, %s %p %s 0x%08x stub!\n", handle, debugstr_w(moduleName), process,
|
|
|
|
debugstr_w(serviceShortName), filter);
|
|
|
|
return ERROR_SUCCESS;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* RmRemoveFilter (rstrtmgr.@)
|
|
|
|
*/
|
|
|
|
DWORD WINAPI RmRemoveFilter(DWORD handle, LPCWSTR moduleName, RM_UNIQUE_PROCESS *process,
|
|
|
|
LPCWSTR serviceShortName)
|
|
|
|
{
|
|
|
|
FIXME("%u, %s %p %s stub!\n", handle, debugstr_w(moduleName), process,
|
|
|
|
debugstr_w(serviceShortName));
|
|
|
|
return ERROR_SUCCESS;
|
|
|
|
}
|