UINT cServiceNames; LPWSTR *rgsczServiceNames; } RMU_SESSION; static volatile LONG vcRmuInitialized = 0; static HMODULE vhModule = NULL; static PFNRMJOINSESSION vpfnRmJoinSession = NULL; static PFNRMENDSESSION vpfnRmEndSession = NULL; static PFNRMREGISTERRESOURCES vpfnRmRegisterResources = NULL; static HRESULT RmuInitialize(); static void RmuUninitialize(); static HRESULT RmuApplicationArrayAlloc( __deref_inout_ecount(*pcApplications) RM_UNIQUE_PROCESS **prgApplications, __inout LPUINT pcApplications, __in DWORD dwProcessId, __in FILETIME ProcessStartTime ); static HRESULT RmuApplicationArrayFree( __in RM_UNIQUE_PROCESS *rgApplications ); #define ReleaseNullApplicationArray(rg, c) { if (rg) { RmuApplicationArrayFree(rg); c = 0; rg = NULL; } } /******************************************************************** RmuJoinSession - Joins an existing Restart Manager session. ********************************************************************/
// By using this software in any fashion, you are agreeing to be bound by the // terms of this license. // // You must not remove this notice, or any other, from this software. // // // ==--== #include <fusionp.h> #include "parse.h" #include "helpers.h" //-------------------------------------------------------------------- // CParseUtils::TrimWhiteSpace // Inplace trim of leading and trailing whitespace. //-------------------------------------------------------------------- VOID CParseUtils::TrimWhiteSpace(__deref_inout_ecount(*pcc) LPWSTR *ppsz, __inout LPDWORD pcc) { DWORD cc = *pcc; WCHAR* beg = *ppsz; WCHAR* end = beg + cc - 1; while ((cc != 0) && iswspace(*beg)) { beg++; cc--; } while ((cc != 0) && iswspace(*end)) { *end = L'\0'; end--;
API_ENTER(asCorInfoType); CorInfoType temp = wrapHnd->asCorInfoType(cls); API_LEAVE(asCorInfoType); return temp; } const char* WrapICorJitInfo::getClassName(CORINFO_CLASS_HANDLE cls) { API_ENTER(getClassName); const char* result = wrapHnd->getClassName(cls); API_LEAVE(getClassName); return result; } int WrapICorJitInfo::appendClassName( __deref_inout_ecount(*pnBufLen) WCHAR** ppBuf, int* pnBufLen, CORINFO_CLASS_HANDLE cls, BOOL fNamespace, BOOL fFullInst, BOOL fAssembly) { API_ENTER(appendClassName); WCHAR* pBuf = *ppBuf; int nLen = wrapHnd->appendClassName(ppBuf, pnBufLen, cls, fNamespace, fFullInst, fAssembly); API_LEAVE(appendClassName); return nLen; } BOOL WrapICorJitInfo::isValueClass(CORINFO_CLASS_HANDLE cls) {