Type Alias eric_bindings::EricRueckgabepufferHandle

source ·
pub type EricRueckgabepufferHandle = *mut EricReturnBufferApi;
Expand description

@brief Handle zur Verwaltung und Verwendung von Rückgabepuffern.

Viele ERiC API-Funktionen geben Informationen an ihren Aufrufer zurück, indem sie Daten in sogenannte Rückgabepuffer schreiben. Solche Rückgabepuffer müssen mit ::EricRueckgabepufferErzeugen() angelegt werden. Das bei dieser Erzeugung generierte Puffer-Handle wird vom Aufrufer an die API-Funktion übergeben, die den Puffer leert bevor sie dann in den Puffer schreibt. Ein einmal generiertes Puffer-Handle kann damit auch für mehrere aufeinanderfolgende Aufrufe von ERiC API-Funktionen wiederverwendet werden. Mittels ::EricRueckgabepufferLaenge() kann danach die Anzahl der in den Puffer geschriebenen Bytes ermittelt werden. Mit ::EricRueckgabepufferInhalt() kann der Pufferinhalt abgefragt werden. Jeder Rückgabepuffer muss nach seiner Verwendung mit ::EricRueckgabepufferFreigeben() wieder freigegeben werden.

Die Struktur EricReturnBufferApi kapselt die Rückgabepuffer-Implementierung. Anwender der ERiC API verwenden ausschließlich Zeiger auf Instanzen dieser Struktur und müssen daher deren Felder nicht kennen.

Rückgabepuffer sind der Singlethreading-API bzw. einer ERiC-Instanz der Multithreading-API fest zugeordnet. Die Funktionen der ERiC API, die einen Rückgabepuffer entgegen nehmen, geben den Fehlercode ::ERIC_GLOBAL_PUFFER_UNGLEICHER_INSTANZ zurück, wenn der übergebene Rückgabepuffer - mit der Singlethreading-API erzeugt worden ist und dann mit der Multithreading-API verwendet wird - mit der Multithreading-API erzeugt worden ist und dann mit der Singlethreading-API verwendet wird - mit einer ERiC-Instanz erzeugt worden ist und dann mit einer anderen Instanz verwendet wird.

@see - ERiC-Entwicklerhandbuch.pdf Kap. “Rückgabepuffer der ERiC Programmierschnittstelle” - ::EricRueckgabepufferErzeugen() - ::EricRueckgabepufferLaenge() - ::EricRueckgabepufferInhalt() - ::EricRueckgabepufferFreigeben()