Ejemplo n.º 1
0
void TraceCritical(const wchar_t* tag, const wchar_t* format, ...) {
    va_list varArgs;
    va_start(varArgs, format);
    TraceRegister();
    _V_TRACE(WINEVENT_LEVEL_CRITICAL, LABEL_CRITICAL, tag, format, varArgs);
    va_end(varArgs);
}
Ejemplo n.º 2
0
void TraceError(const wchar_t* tag, const wchar_t* format, ...) {
    va_list varArgs;
    va_start(varArgs, format);
    TraceRegister();
    _V_TRACE(WINEVENT_LEVEL_ERROR, LABEL_ERROR, tag, format, varArgs);
    va_end(varArgs);
}
Ejemplo n.º 3
0
void TraceVerbose(const wchar_t* tag, const wchar_t* format, ...) {
    va_list varArgs;
    va_start(varArgs, format);
    TraceRegister();
    _V_TRACE(WINEVENT_LEVEL_VERBOSE, LABEL_VERBOSE, tag, format, varArgs);
    va_end(varArgs);
}
Ejemplo n.º 4
0
void TraceWarning(const wchar_t* tag, const wchar_t* format, ...) {
    va_list varArgs;
    va_start(varArgs, format);
    TraceRegister();
    _V_TRACE(WINEVENT_LEVEL_WARNING, LABEL_WARNING, tag, format, varArgs);
    va_end(varArgs);
}
Ejemplo n.º 5
0
DWORD
CE_Create (
    PCONFIGURATION_ENTRY    pce)
{
    DWORD dwErr = NO_ERROR;

    /* initialize to default values */
    ZeroMemory(pce, sizeof(CONFIGURATION_ENTRY));
    pce->dwTraceID = INVALID_TRACEID;

    do {
        /* initialize the read-write lock */
        CREATE_READ_WRITE_LOCK(&(pce->rwlLock));
        if (!READ_WRITE_LOCK_CREATED(&(pce->rwlLock))) {
            dwErr = GetLastError();

            TRACE1(CONFIGURATION, "Error %u creating read-write-lock", dwErr);

            break;
        }

        /* initialize the global heap */
        pce->hGlobalHeap = HeapCreate(0, 0, 0);
        if (pce->hGlobalHeap == NULL) {
            dwErr = GetLastError();
            TRACE1(CONFIGURATION, "Error %u creating global heap", dwErr);

            break;
        }

	/*
         * Initialize the count of threads that are active in subsystem.
         * Create the semaphore released by each thread when it is done;
         * required for clean stop to the protocol.
	 */
        pce->ulActivityCount = 0;
        pce->hActivitySemaphore = CreateSemaphore(NULL, 0, 0xfffffff, NULL);
        if (pce->hActivitySemaphore == NULL) {
            dwErr = GetLastError();
            TRACE1(CONFIGURATION, "Error %u creating semaphore", dwErr);
            break;
        }

        /* Logging & Tracing Information */
        pce->dwTraceID  = TraceRegister(XORPRTM_TRACENAME);

        /* Event Queue */
        INITIALIZE_LOCKED_QUEUE(&(pce->lqEventQueue));
        if (!LOCKED_QUEUE_INITIALIZED(&(pce->lqEventQueue))) {
            dwErr = GetLastError();
            TRACE1(CONFIGURATION, "Error %u initializing locked queue", dwErr);
            break;
        }

        /* Protocol State */
        pce->iscStatus = XORPRTM_STATUS_STOPPED;

    } while (FALSE);

    if (dwErr != NO_ERROR) {
        /* something went wrong, so cleanup. */
        TRACE0(CONFIGURATION, "Failed to create configuration entry");
        CE_Destroy(pce);
    }

    return dwErr;
}