Condividi tramite


Scaricamento (CPI-C)

La chiamata Flush (nome funzione cmflus) invia il contenuto del buffer di invio dell'unità logica locale (LU) all'unità logica partner (e al 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 di ritorno

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 è solo non bloccante) ed è ancora in corso. Il programma può emettere 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 stato SEND o SEND_PENDING quando il programma ha emesso 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 dello 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.

Gli altri codici restituiti non comportano alcuna modifica dello stato.

Osservazioni:

I dati elaborati da Send_Data si accumulano nel buffer di invio delle unità organizzative 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à di archiviazione. Alcuni tipi di invio, impostati da Set_Send_Type, includono funzionalità di scaricamento.

  • Il buffer è pieno.

    Anche la richiesta di allocazione generata da Allocate e le informazioni sugli errori generate da Send_Error vengono memorizzate nel buffer.