Flush (CPI-C)
La chiamata Flush (nome funzione cmflus) invia il contenuto del buffer di invio dell'unità logica locale (LU) al partner LU (e programma). Se il buffer di invio è vuoto, non viene eseguita alcuna azione.
Sintassi
CM_ENTRY Flush(
unsigned char FAR *conversation_ID,
CM_INT32 FAR *return_code
);
Parametri
conversation_ID
Parametro fornito. Specifica l'identificatore per la conversazione. Il valore di questo parametro è stato restituito da Initialize_Conversation o Accept_Conversation.
return_code
Codice restituito da questa chiamata. I codici restituiti validi sono elencati più avanti in questo argomento.
Codici restituiti
CM_OK
Codice restituito primario; la chiamata eseguita correttamente.
CM_OPERATION_NOT_ACCEPTED
Codice restituito primario; un'operazione precedente in questa conversazione è incompleta.
CM_OPERATION_INCOMPLETE
Codice restituito primario; l'operazione non è stata completata (la modalità di elaborazione non è bloccata solo) ed è ancora in corso. Il programma può eseguire Wait_For_Conversation per attendere il completamento dell'operazione o Cancel_Conversation per annullare l'operazione e la conversazione. Se Specify_Windows_Handle è stato chiamato, l'applicazione deve attendere la notifica da un messaggio di Microsoft® Windows® e non chiamare Wait_For_Conversation.
CM_PROGRAM_PARAMETER_CHECK
Codice restituito primario; il valore specificato da conversation_ID non è valido.
CM_PROGRAM_STATE_CHECK
Codice restituito primario; la conversazione non era in SEND o SEND_PENDING stato quando il programma ha rilasciato questa chiamata.
CM_PRODUCT_SPECIFIC_ERROR
Codice restituito primario; si è verificato un errore specifico del prodotto ed è stato registrato nel log degli errori dei prodotti.
Modifiche di stato
La conversazione deve essere in stato SEND o SEND_PENDING.
Se la chiamata viene completata correttamente, (return_code è CM_OK ), la conversazione è in stato SEND.
Altri codici restituiti non comportano alcuna modifica dello stato.
Commenti
I dati elaborati da Send_Data accumulano nel buffer di invio delle UNITÀ locali fino a quando non si verifica una delle operazioni seguenti:
Il programma locale genera la chiamata Flush o un'altra chiamata che scarica il buffer di invio delle UNITÀ. Alcuni tipi di invio, impostati da Set_Send_Type, includono funzionalità di scaricamento.
Il buffer è pieno.
La richiesta di allocazione generata dalle informazioni di allocazione e di errore generate da Send_Error vengono inoltre memorizzate nel buffer.