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
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__
|