# kernelv_program_error_get_path

## Prototyp

KERNELV_RETURN | kernelv_program_error_get_path(char *return_string, unsigned long * return_length);

## Beschreibung

Liefert den Programmpfad der verwendet wurde um das aktive Programm zu starten zurück.

Wenn das Programm durch die absolute Angabe eines Dateinamens gestartet wurde wird ein Leerstring zurückgegeben, falls das gerade aktive Programm ein Handsatz ist, wird "-" (Ohne Anführungszeichen) zurückgegeben.

Zurückgegeben wird eine nullterminierte Zeichenkette, in return_length wird die Anzahl der zurückgelieferten Bytes zurückgegeben, d. h. die terminierende Null wird mitgezählt.

Falls der vom Aufrufer bereitgestellte Speicher zu klein für die zurückzugebende Zeichenkette ist, wird der Rückgabewert ERR_CNC_RET_MEMORY zurückgegeben. In Parameter returnLength steht in diesem Fall die zur Rückgabe der Zeichenkette benötigte Größe in Bytes.

## Parameter

Name | Typ | Bedeutung
return_string | char* | Zeiger auf Zeichenkette für den Programmpfad. Der Speicher ist vom Aufrufer bereitzustellen.
return_length | unsigned long* | Größe des Speichers für den Rückgabewert. Wenn die zurückzugebende Zeichenkette länger ist als der bereitgestellte Speicher, wird nichts zurückgeben. Zurückgegeben wird entweder die Länge der zurückgegebenen Zeichenkette oder die zur Rückgabe benötigte Größe des Speicherbereiches.

## Rückgabewerte

Symbol | Wert | Bedeutung
RET_FINISHED | 0 | Die Funktion wurde fehlerfrei durchgeführt.
ERR_CNC_RET_MEMORY | -4 | Der oder die Rückgabewerte passen nicht in den bereitgestellten Speicher. Im Parameter length wird die Anzahl der benötigten Bytes zurückgegeben.
ERR_CNC_NO_DATA | -28 | Die angeforderten Daten sind nicht verfügbar. Es liegen keine NC-programmspezifischen Daten zu einem CNC-Fehler vor.