Accept_Conversation (CPI-C)
La chiamata Accept_Conversation (nome funzione cmaccp) viene emessa dal programma richiamato per accettare la conversazione in ingresso e impostare determinate caratteristiche di conversazione. Per un elenco delle caratteristiche iniziali della conversazione, vedere Caratteristiche della conversazione iniziale.
Sintassi
CM_ENTRY Accept_Conversation(
unsigned char FAR *conversation_ID,
CM_INT32 FAR *return_code
);
Parametri
conversation_ID
Parametro restituito. Specifica l'identificatore per la conversazione. Viene usato dalle chiamate CPI-C successive e viene restituito se il codice restituito è CM_OK o CM_OPERATION_INCOMPLETE. Se il codice restituito è CM_OPERATION_INCOMPLETE, il parametro conversation_ID può essere usato dall'applicazione per attendere o annullare la conversazione.
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_PROGRAM_STATE_CHECK
Codice restituito primario; non esiste alcuna conversazione in ingresso (solo modalità di blocco) o non è stato configurato alcun nome del programma di transazione locale (TP).
CM_OPERATION_INCOMPLETE
Codice restituito primario; è stata avviata un'operazione non sbloccata nella conversazione, ma non è stata completata. Il programma può emettere Wait_For_Conversation attendere il completamento dell'operazione o Cancel_Conversation per annullare l'operazione e la conversazione.
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 RESET quando viene emesso Accept_Conversation.
Se la chiamata ha esito positivo, la conversazione passa allo stato RECEIVE. Se la chiamata ha esito negativo, lo stato rimane invariato.
Commenti
Al termine dell'esecuzione di questa chiamata, CPI-C genera un identificatore di conversazione a 8 byte. Questo identificatore è un parametro obbligatorio per tutte le altre chiamate CPI-C rilasciate dal programma richiamato in questa conversazione.
Le conversazioni in ingresso verranno accettate in base al nome TP di destinazione specificato, che deve corrispondere ai nomi TP locali configurati. I nomi TP locali possono essere configurati dai metodi dipendenti dall'implementazione o dal programma che chiama Specify_Local_TP_Name. In questo modo, un programma può avere più di un nome TP locale. Il programma può chiamare Extract_TP_Name per individuare il nome specificato nella conversazione in ingresso.
L'operazione viene eseguita in modalità non sbloccante se il programma ha chiamato Specify_Local_TP_Name in precedenza; in caso contrario, viene eseguita in modalità di blocco.