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.
 
 
 
 
 
 

56 lines
1.5 KiB

//*************************************************************
//
// Copyright (c) Microsoft Corporation 1998
// All rights reserved
//
// util.hxx
//
//*************************************************************
#if !defined(__UTIL_HXX__)
#define __UTIL_HXX__
typedef BOOL (__stdcall SRSETRESTOREPOINTW)(PRESTOREPOINTINFOW pRestorePtSpec, PSTATEMGRSTATUS pSMgrStatus);
extern SRSETRESTOREPOINTW * gpfnSRSetRetorePointW;
class CLoadSfc
{
public:
CLoadSfc( DWORD &Status );
~CLoadSfc();
private:
HINSTANCE hSfc;
};
BOOL IsMemberOfAdminGroup( HANDLE hUserToken );
DWORD GetPreviousSid( HANDLE hUserToken, WCHAR * pwszCurrentScriptPath, WCHAR ** ppwszPreviousSid );
DWORD RenameScriptDir( WCHAR * pwszPreviousSid, WCHAR * pwszCurrentScriptPath );
DWORD GetCurrentUserGPOList( OUT PGROUP_POLICY_OBJECT* ppGpoList );
DWORD GetWin32ErrFromHResult( HRESULT hr );
void ClearManagedApp( MANAGED_APP* pManagedApp );
DWORD ForceSynchronousRefresh( HANDLE hUserToken );
inline LPWSTR MidlStringDuplicate(LPWSTR wszSource)
{
LPWSTR wszDest;
if ( ! wszSource )
return NULL;
if (wszDest = (LPWSTR) midl_user_allocate((lstrlen(wszSource) + 1) * sizeof(WCHAR)))
{
HRESULT hr;
hr = StringCchCopy(wszDest, lstrlen(wszSource) + 1, wszSource);
if (FAILED(hr))
{
midl_user_free(wszDest);
return NULL;
}
}
return wszDest;
}
#endif __UTIL_HXX__