MC_REQUEST_TO_SEND

Il verbo MC_REQUEST_TO_SEND notifica al programma di transazione partner (TP) che il TP locale vuole inviare dati.

La struttura seguente descrive il blocco di controllo verbo (VCB) usato dal verbo MC_REQUEST_TO_SEND verbo.

Sintassi

  
struct mc_request_to_send {  
    unsigned short      opcode;  
    unsigned char       opext;  
    unsigned char       reserv2;  
    unsigned short      primary_rc;  
    unsigned long       secondary_rc;  
    unsigned char       tp_id[8];  
    unsigned long       conv_id;  
};   

Members

Opcode
Parametro fornito. Specifica il codice dell'operazione verbo, AP_M_REQUEST_TO_SEND.

opext
Parametro fornito. Specifica l'estensione dell'operazione verbo, AP_MAPPED_CONVERSATION.

reserv2
Campo riservato.

Primary_rc
Parametro restituito. Specifica il codice restituito primario impostato da APPC al completamento del verbo. I codici restituiti validi variano a seconda del verbo APPC rilasciato. Per questo verbo, vedere Codici restituiti per i codici di errore validi.

Secondary_rc
Parametro restituito. Specifica il codice restituito secondario impostato da APPC al completamento del verbo. I codici restituiti validi variano a seconda del verbo APPC rilasciato. Per questo verbo, vedere Codici restituiti per i codici di errore validi.

Tp_id
Parametro fornito. Identifica il TP locale.

Il valore di questo parametro viene restituito da TP_STARTED nella chiamata TP o da RECEIVE_ALLOCATE nel TP richiamato.

Conv_id
Parametro fornito. Fornisce l'identificatore della conversazione.

Il valore di questo parametro viene restituito da MC_ALLOCATE nella chiamata TP o da RECEIVE_ALLOCATE nel TP richiamato.

Codici restituiti

AP_OK
Codice restituito primario; il verbo eseguito correttamente.

AP_PARAMETER_CHECK
Codice restituito primario; il verbo non è stato eseguito a causa di un errore di parametro.

AP_BAD_CONV_ID

Codice restituito secondario; il valore di conv_id non corrisponde a un identificatore di conversazione assegnato da APPC.

AP_BAD_TP_ID

Codice restituito secondario; il valore di tp_id non corrisponde a un identificatore TP assegnato da APPC.

AP_STATE_CHECK
Codice restituito primario; il verbo non è stato eseguito perché è stato rilasciato in uno stato non valido.

AP_R_T_S_BAD_STATE

Codice restituito secondario; la conversazione non è in uno stato consentito quando il TP ha rilasciato questo verbo.

AP_COMM_SUBSYSTEM_ABENDED
Codice restituito primario; indica una delle condizioni seguenti:

  • Il nodo usato da questa conversazione ha rilevato un ABEND.

  • La connessione tra il tp e il nodo pu 2.1 è stata interrotta (errore LAN).

  • SnaBase nel computer TP ha rilevato un ABEND.

    L'amministratore di sistema deve esaminare il log degli errori per determinare il motivo di ABEND.

    AP_COMM_SUBSYSTEM_NOT_LOADED
    Codice restituito primario; Impossibile caricare o terminare un componente obbligatorio durante l'elaborazione del verbo. Pertanto, la comunicazione non poteva essere eseguita. Contattare l'amministratore di sistema per un'azione correttiva.

    Quando questo codice restituito viene usato con MC_ALLOCATE, può indicare che non è possibile trovare alcun sistema di comunicazione per supportare l'lu locale. Ad esempio, l'alias LU locale specificato con TP_STARTED non è corretto o non è stato configurato. Si noti che se lu_alias o mode_name è inferiore a otto caratteri, è necessario assicurarsi che questi campi siano riempiti con spazi a destra. Questo errore viene restituito se questi parametri non vengono riempiti con spazi, poiché non è disponibile alcun nodo che può soddisfare la richiesta di MC_ALLOCATE .

    Quando MC_ALLOCATE produce questo codice restituito per un sistema client di Microsoft Host Integration Server configurato con più nodi, sono disponibili due codici restituiti secondari come indicato di seguito:

    0xF0000001

    Codice restituito secondario; non sono stati avviati nodi.

    0xF0000002

    Codice restituito secondario; almeno un nodo è stato avviato, ma l'lu locale (quando viene rilasciato TP_STARTED ) non è configurato in alcun nodo attivo. Il problema potrebbe essere uno dei seguenti:

  • Il nodo con l'lu locale non viene avviato.

  • L'lu locale non è configurato.

    AP_CONVERSATION_TYPE_MIXED
    Codice restituito primario; il TP ha rilasciato verbi di conversazione di base e mappati. È possibile rilasciare un solo tipo in una singola conversazione.

    AP_INVALID_VERB_SEGMENT
    Codice restituito primario; VCB esteso oltre la fine del segmento di dati.

    AP_STACK_TOO_SMALL
    Codice restituito primario; le dimensioni dello stack dell'applicazione sono troppo piccole per eseguire il verbo. Aumentare le dimensioni dello stack dell'applicazione.

    AP_CONV_BUSY
    Codice restituito primario; c'è solo un verbo di conversazione in sospeso alla volta su qualsiasi conversazione. Ciò può verificarsi se il TP locale ha più thread e più thread eseguono chiamate APPC usando la stessa conv_id.

    AP_THREAD_BLOCKING
    Codice restituito primario; il thread chiamante è già in una chiamata di blocco.

    AP_UNEXPECTED_DOS_ERROR
    Codice restituito primario; il sistema operativo ha restituito un errore all'APPC durante l'elaborazione di una chiamata APPC dal TP locale. Il codice restituito dal sistema operativo viene restituito tramite il secondary_rc. Viene visualizzato nell'ordine di scambio di byte Intel. Se il problema persiste, consultare l'amministratore di sistema.

Commenti

La conversazione può essere in uno degli stati seguenti quando il TP genera questo verbo:

CONFERMA

PENDING_POST (OS/2)

RECEIVE

Non esiste alcuna modifica dello stato.

La notifica request-to-send viene ricevuta dal programma partner tramite il parametro rts_rcvd dei verbi seguenti:

  • MC_CONFIRM

  • MC_RECEIVE_AND_POST

  • MC_RECEIVE_AND_WAIT

  • MC_RECEIVE_IMMEDIATE

  • MC_SEND_DATA

  • MC_SEND_ERROR

    È anche indicato da un primary_rc di AP_OK su MC_TEST_RTS.

    La notifica richiesta per l'invio viene inviata immediatamente al TP partner; APPC non attende fino a quando il buffer di invio riempie o viene scaricato. Di conseguenza, la notifica di tipo request-to-send può arrivare fuori sequenza. Ad esempio, se il tp locale è in stato SEND e genera MC_PREPARE_TO_RECEIVE seguito da MC_REQUEST_TO_SEND, il partner TP, nello stato RECEIVE, può ricevere la notifica di invio da richiesta a invio prima di ricevere la notifica di invio. Per questo motivo, l'invio di richieste può essere segnalato a un tp tramite un verbo di ricezione.

    In risposta a questa richiesta, il partner TP può modificare la conversazione in:

  • RECEIVE state by issuing MC_PREPARE_TO_RECEIVE or MC_RECEIVE_AND_WAIT.

  • PENDING_POST stato eseguendo MC_RECEIVE_AND_POST.

    Il tp del partner può anche ignorare la richiesta da inviare.

    Lo stato della conversazione viene modificato in SEND per il tp locale quando il tp locale riceve uno dei valori seguenti tramite il parametro what_rcvd di un verbo di ricezione successivo:

  • AP_CONFIRM_SEND e risposte con MC_CONFIRMED

  • AP_DATA_COMPLETE_CONFIRM_SEND e risposte con MC_CONFIRMED

  • AP_SEND

    I verbi di ricezione sono MC_RECEIVE_AND_POST, MC_RECEIVE_IMMEDIATE e MC_RECEIVE_AND_WAIT.