Morgen,
ich habe schon wieder ein Problem.
Hier ist meine Methode:
Diese funktioniert auch, nur hin und wieder bekomme ich die Fehlermeldung:
Fehler in Anwendung
Die Anweisung in "0x7c9..." verweist auf Speicher in "0x0000...". Der Vorgang "read" konnte nicht auf dem Speicher durchgefuehrt werden.
Wie kann so etwas entstehen?
ich habe schon wieder ein Problem.
Hier ist meine Methode:
Code:
JNIEXPORT jboolean JNICALL Java_utils_jni_FunctionJNI_ping
(JNIEnv *env, jobject object, jstring strClient) {
if(strClient == NULL)
return false;
const char *str = env->GetStringUTFChars(strClient, NULL);
string buf = str;
const char* cIP = buf.c_str();
env->ReleaseStringUTFChars(strClient, str);
HANDLE hIcmpFile = IcmpCreateFile();
// Declare and initialize variables
char *SendData = "Data Buffer";
LPVOID ReplyBuffer;
ReplyBuffer = (VOID*) malloc(sizeof(ICMP_ECHO_REPLY) + sizeof(SendData));
//cout << "ping " << cIP << endl;
int dwRetVal;
if ((dwRetVal = IcmpSendEcho2(hIcmpFile,
NULL,
NULL,
NULL,
inet_addr(cIP),
SendData,
sizeof(SendData),
NULL,
ReplyBuffer,
8*sizeof(SendData) + sizeof(ICMP_ECHO_REPLY),
1000)) != 0) {
//printf("\tReceived %ld messages.\n", dwRetVal);
//printf("\tMessage: %s\n", ReplyBuffer);
CloseHandle(hIcmpFile);
return true;
}
CloseHandle(hIcmpFile);
return false;
}
Diese funktioniert auch, nur hin und wieder bekomme ich die Fehlermeldung:
Fehler in Anwendung
Die Anweisung in "0x7c9..." verweist auf Speicher in "0x0000...". Der Vorgang "read" konnte nicht auf dem Speicher durchgefuehrt werden.
Wie kann so etwas entstehen?
Zuletzt bearbeitet: