Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// --------------------------------------------------------------------------
// Module Name: RestoreApplication.h
//
// Copyright (c) 2000, Microsoft Corporation
//
// Class to implement holding information required to restore an application
// and to actually restore it.
//
// History: 2000-10-26 vtan created
// 2000-11-04 vtan split into separate file
// --------------------------------------------------------------------------
#ifndef _RestoreApplication_
#define _RestoreApplication_
#include "CountedObject.h"
// --------------------------------------------------------------------------
// CRestoreApplication
//
// Purpose: Class to manage information required to restore an application
// that was terminated because of a different user switch.
//
// History: 2000-10-26 vtan created
// 2000-11-04 vtan split into separate file
// --------------------------------------------------------------------------
class CRestoreApplication : public CCountedObject { public: CRestoreApplication (void); ~CRestoreApplication (void);
NTSTATUS GetInformation (HANDLE hProcess);
bool IsEqualSessionID (DWORD dwSessionID) const; const WCHAR* GetCommandLine (void) const; NTSTATUS Restore (HANDLE *phProcess) const; private: NTSTATUS GetProcessParameters (HANDLE hProcess, RTL_USER_PROCESS_PARAMETERS *pProcessParameters); NTSTATUS GetUnicodeString (HANDLE hProcess, const UNICODE_STRING& string, WCHAR** ppsz);
NTSTATUS GetToken (HANDLE hProcess); NTSTATUS GetSessionID (HANDLE hProcess); NTSTATUS GetCommandLine (HANDLE hProcess, const RTL_USER_PROCESS_PARAMETERS& processParameters); NTSTATUS GetEnvironment (HANDLE hProcess, const RTL_USER_PROCESS_PARAMETERS& processParameters); NTSTATUS GetCurrentDirectory (HANDLE hProcess, const RTL_USER_PROCESS_PARAMETERS& processParameters); NTSTATUS GetDesktop (HANDLE hProcess, const RTL_USER_PROCESS_PARAMETERS& processParameters); NTSTATUS GetTitle (HANDLE hProcess, const RTL_USER_PROCESS_PARAMETERS& processParameters); NTSTATUS GetFlags (HANDLE hProcess, const RTL_USER_PROCESS_PARAMETERS& processParameters); NTSTATUS GetStdHandles (HANDLE hProcess, const RTL_USER_PROCESS_PARAMETERS& processParameters); private: HANDLE _hToken; DWORD _dwSessionID; WCHAR *_pszCommandLine; void *_pEnvironment; WCHAR *_pszCurrentDirectory; WCHAR *_pszDesktop; WCHAR *_pszTitle; DWORD _dwFlags; WORD _wShowWindow; HANDLE _hStdInput; HANDLE _hStdOutput; HANDLE _hStdError;
static const WCHAR s_szDefaultDesktop[]; };
#endif /* _RestoreApplication_ */
|