Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Extract_Secondary_Information - Erweiterte Information abfragen

&pagelevel(4)&pagelevel

Mit dem Aufruf Extract_Secondary_Information (CMESI) erhält das Programm erweiterte Informationen (secondary information), die sich auf den Returncode des letzten CPI-C-Aufrufs beziehen.

Syntax
CMESI (conversation_ID, call_ID, buffer, requested_length, data_received, received_length, return_code)

Parameter

--> conversation_ID

Identifikation der bereits initialisierten Conversation (wird vom Aufruf Initialize geliefert).

--> call_ID

spezifiziert die Funktion, deren erweiterte Information ausgegeben werden soll.

<-- buffer

Puffer, in dem die Daten empfangen werden.

Falls der Rückgabewert von data_received CM_NO_DATA_RECEIVED ist oder received_length=0, ist der Inhalt von buffer undefiniert.

--> requested_length

Maximale Länge der Daten, die empfangen werden können.

<-- data_received

Gibt an, ob das Programm die erweiterte Information vollständig empfangen hat. Falls das Ergebnis (return_code) nicht den Wert CM_OK hat, ist der Wert von data_received undefiniert.

data_received kann folgende Werte annehmen:

CM_COMPLETE_DATA_RECEIVED

Die erweiterte Information wurde vollständig empfangen.

CM_INCOMPLETE_DATA_RECEIVED

Die erweiterte Information ist nicht vollständig vom Programm empfangen worden.

CM_NO_DATA_RECEIVED

Es wurden keine Daten empfangen.

<-- received_length

Länge der empfangenen Daten. Der Wert von received_length ist undefiniert, falls das Ergebnis (return_code) nicht den Wert CM_OK hat.

<-- return_code

Ergebnis des Funktionsaufrufs.

Ergebnis (return_code)

CM_OK

Aufruf OK

CM_NO_SECONDARY_INFORMATION

Für den Aufruf der angegebenen Conversation ist keine erweiterte Information vorhanden.

CM_PROGRAM_PARAMETER_CHECK

Der Wert der conversation_ID ist ungültig, die call_ID gibt CMESI oder einen ungültigen Wert an, oder der Wert für requested_length ist größer als 32767 oder kleiner 1.

CM_PRODUCT_SPECIFIC_ERROR

Die UPIC-Instanz konnte nicht gefunden werden.

Hinweis

  • Das Programm sollte unmittelbar nach Erhalt eines return_codes diesen Aufruf machen. Nachfolgende CPI-C Aufrufe überschreiben gegebenenfalls die erweiterte Information. Wenn keine Conversation existiert, d.h. die Bibliothek ist im "Reset" Status, wird die conversation_ID ignoriert.

  • Wenn sich der Extract_Secondary_Information- Aufruf erfolgreich beendet hat, wird die zurückgegebene erweiterte Information nicht länger gespeichert. Die gleiche Information ist im nachfolgenden Extract_Secondary_Information-Aufruf nicht mehr verfügbar.

  • Das Programm kann den Aufruf nicht dazu nutzen, um von einem vorangegangenen Extract_Secondary_Information-Aufruf erweiterte Information zu erhalten.

  • Diese Funktion wurde nicht in ihrer vollen Komplexität gemäß den CPI-C Spezifikationen implementiert. Die Vereinfachungen gegenüber CPI-C sind folgende:

- Der interne Puffer besitzt eine beschränkte Größe von 1024 Byte.

- Ist der Wert für requested_length kleiner als die Länge der intern gespeicherten erweiterten Information, wird der vom Anwendungsprogramm zur Verfügung gestellte Puffer vollständig gefüllt und data_received auf CM_INCOMPLETE_DATA_RECEIVED gesetzt. Es ist nicht möglich, die restlichen Daten mit weiteren CMESI-Aufrufen zu erhalten.

Verhalten im Fehlerfall

CM_PROGRAM_PARAMETER_CHECK

Programm ändern.

CM_PRODUCT_SPECIFIC_ERROR

Das Betriebssystem kann nicht genügend Speicherplatz für interne Puffer bereitstellen. Überprüfen Sie Ihr Programm auf zu hohe Speicherplatzanforderung und starten Sie ggf. Ihr System neu.


Funktionsdeklaration: Extract_Secondary_Information
CM_ENTRY Extract_Secondary_Information (
                      unsigned char         CM_PTR  conversation_ID,
                      CM_INT32              CM_PTR  call_ID,
                      unsigned char         CM_PTR  buffer,
                      CM_INT32              CM_PTR  requested_length,
                      CM_DATA_RECEIVED_TYPE CM_PTR  data_received,
                      CM_INT32              CM_PTR  received_length,
                      CM_RETURN_CODE        CM_PTR  return_code )