Flush (CPI-C)
Der Flush-Aufruf (Funktionsname cmflus) sendet den Inhalt des Sendepuffers der lokalen logischen Einheit (LU) an die Partner-LU (und das Programm). Wenn der Sendepuffer leer ist, wird keine Aktion ausgeführt.
Syntax
CM_ENTRY Flush(
unsigned char FAR *conversation_ID,
CM_INT32 FAR *return_code
);
Parameter
conversation_ID
Angegebener Parameter. Gibt den Bezeichner für die Unterhaltung an. Der Wert dieses Parameters wurde von Initialize_Conversation oder Accept_Conversation zurückgegeben.
return_code
Der von diesem Aufruf zurückgegebene Code. Die gültigen Rückgabecodes werden weiter unten in diesem Thema aufgeführt.
Rückgabecodes
CM_OK
Primärer Rückgabecode; der Aufruf wurde erfolgreich ausgeführt.
CM_OPERATION_NOT_ACCEPTED
Primärer Rückgabecode; ein vorheriger Vorgang für diese Unterhaltung ist unvollständig.
CM_OPERATION_INCOMPLETE
Primärer Rückgabecode; Der Vorgang wurde noch nicht abgeschlossen (der Verarbeitungsmodus ist nur nicht blockiert) und wird noch ausgeführt. Das Programm kann Wait_For_Conversation ausgeben, um den Abschluss des Vorgangs abzuwarten, oder Cancel_Conversation , den Vorgang und die Unterhaltung abzubrechen. Wenn Specify_Windows_Handle aufgerufen wurde, sollte die Anwendung auf eine Benachrichtigung durch eine Microsoft® Windows-Nachricht® warten und nicht Wait_For_Conversation aufrufen.
CM_PROGRAM_PARAMETER_CHECK
Primärer Rückgabecode; Der durch conversation_ID angegebene Wert ist ungültig.
CM_PROGRAM_STATE_CHECK
Primärer Rückgabecode; die Unterhaltung befand sich nicht im SEND- oder SEND_PENDING Zustand, als das Programm diesen Aufruf ausgegeben hat.
CM_PRODUCT_SPECIFIC_ERROR
Primärer Rückgabecode; Ein produktspezifischer Fehler ist aufgetreten und wurde im Produktfehlerprotokoll protokolliert.
Zustandsänderungen
Die Unterhaltung muss sich im SEND- oder SEND_PENDING Zustand befinden.
Wenn der Aufruf erfolgreich abgeschlossen wurde (return_code CM_OK ist), befindet sich die Unterhaltung im SEND-Zustand.
Andere Rückgabecodes führen zu keiner Zustandsänderung.
Hinweise
Die von Send_Data verarbeiteten Daten werden im lokalen LUs-Sendepuffer gesammelt, bis eine der folgenden Vorgänge auftritt:
Das lokale Programm gibt den Flush-Aufruf oder einen anderen Aufruf aus, der den LUs-Sendepuffer leert. (Einige Sendetypen, die durch Set_Send_Type festgelegt werden, enthalten Spülfunktionen.)
Der Puffer ist voll.
Die von Allocation generierte Zuordnungsanforderung und die von Send_Error generierten Fehlerinformationen werden ebenfalls gepuffert.