/* * Class: org.apache.log4j.nt.NTEventLogAppender * Method: registerEventSource * Signature: (Ljava/lang/String;Ljava/lang/String;)I */ JNIEXPORT jint JNICALL Java_org_apache_log4j_nt_NTEventLogAppender_registerEventSource( JNIEnv *env, jobject java_this, jstring server, jstring source) { jchar *nserver = 0; jchar *nsource = 0; if (server != 0) { jsize serverLen = env->GetStringLength(server); nserver = (jchar*) malloc((serverLen +1) * sizeof(jchar)); env->GetStringRegion(server, 0, serverLen, nserver); nserver[serverLen] = 0; } if (source != 0) { jsize sourceLen = env->GetStringLength(source); nsource = (jchar*) malloc((sourceLen +1) * sizeof(jchar)); env->GetStringRegion(source, 0, sourceLen, nsource); nsource[sourceLen] = 0; } addRegistryInfo((wchar_t*) nsource); jint handle = gEventSources.createKey(RegisterEventSourceW( (const wchar_t*) nserver, (const wchar_t*) nsource)); free(nserver); free(nsource); return handle; }
/* * Class: org.apache.log4j.nt.NTEventLogAppender * Method: registerEventSource * Signature: (Ljava/lang/String;Ljava/lang/String;)I */ JNIEXPORT jint JNICALL Java_org_apache_log4j_nt_NTEventLogAppender_registerEventSource( JNIEnv *env, jobject java_this, jstring server, jstring source) { char *nserver = 0; char *nsource = 0; if (server != 0) { nserver = JNU_GetStringNativeChars(env, server); } if (source != 0) { nsource = JNU_GetStringNativeChars(env, source); } addRegistryInfo(nsource); jint handle = (jint)RegisterEventSource(nserver, nsource); free((void *)nserver); free((void *)nsource); return handle; }
void NTEventLogAppender::open() { addRegistryInfo(_strSourceName.c_str()); _hEventSource = ::RegisterEventSource(NULL, _strSourceName.c_str()); }