예제 #1
0
    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.

********************************************************************/
예제 #2
0
//    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--;
예제 #3
0
    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)
{