rstrtmgr: Add stubs for RmGetList and RmRegisterResources.

This commit is contained in:
Austin English 2010-09-09 11:19:41 -05:00 committed by Alexandre Julliard
parent ee706d3d68
commit e899b55ec1
4 changed files with 90 additions and 3 deletions

View File

@ -23,6 +23,8 @@
#include "winbase.h"
#include "wine/debug.h"
#include "restartmanager.h"
WINE_DEFAULT_DEBUG_CHANNEL(rstrtmgr);
/*****************************************************
@ -47,10 +49,36 @@ BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
return TRUE;
}
/***********************************************************************
* 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);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/***********************************************************************
* 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);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/***********************************************************************
* RmStartSession (rstrtmgr.@)
*
* Start a new restart manager session
* Start a new Restart Manager session
*/
DWORD WINAPI RmStartSession(DWORD *sessionhandle, DWORD flags, WCHAR sessionkey[])
{

View File

@ -2,9 +2,9 @@
@ stub RmCancelCurrentTask
@ stub RmEndSession
@ stub RmGetFilterList
@ stub RmGetList
@ stdcall RmGetList(long ptr ptr ptr ptr)
@ stub RmJoinSession
@ stub RmRegisterResources
@ stdcall RmRegisterResources(long long ptr long ptr long ptr)
@ stub RmRemoveFilter
@ stub RmReserveHeap
@ stub RmRestart

View File

@ -425,6 +425,7 @@ SRCDIR_INCLUDES = \
raserror.h \
reason.h \
regstr.h \
restartmanager.h \
richedit.h \
rmxfguid.h \
row.idl \

58
include/restartmanager.h Normal file
View File

@ -0,0 +1,58 @@
/*
* Copyright (C) 2010 Austin English
*
* 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
*/
#ifndef RESTARTMANAGER_H
#define RESTARTMANAGER_H
#ifdef __cplusplus
extern "C" {
#endif
#define CCH_RM_MAX_APP_NAME 255
#define CH_RM_MAX_SVC_NAME 63
typedef enum {
RmUnknownApp = 0,
RmMainWindow = 1,
RmOtherWindow = 2,
RmService = 3,
RmExplorer = 4,
RmConsole = 5,
RmCritical = 1000
} RM_APP_TYPE;
typedef struct {
DWORD dwProcessId;
FILETIME ProcessStartTime;
} RM_UNIQUE_PROCESS, *PRM_UNIQUE_PROCESS;
typedef struct {
RM_UNIQUE_PROCESS Process;
WCHAR strAppName[CCH_RM_MAX_APP_NAME+1];
WCHAR strServiceShortName[CH_RM_MAX_SVC_NAME+1];
RM_APP_TYPE ApplicationType;
ULONG AppStatus;
DWORD TSSessionID;
BOOL bRestartable;
} RM_PROCESS_INFO, *PRM_PROCESS_INFO;
#ifdef __cplusplus
}
#endif
#endif /* RESTARTMANAGER_H */