Condividi tramite


Verbi APPC ed estensioni Windows

Questo argomento descrive i verbi APPC e le estensioni di Windows supportati da Host Integration Server:

Verbi APPC

Le descrizioni dei verbi APPC seguenti contengono funzionalità importanti e devono essere lette prima di usare questa versione di Windows APPC.

ALLOCARE o MC_ALLOCATE
Rilasciato dal programma di transazione di richiamo (TP), questo verbo alloca una sessione tra l'unità logica locale (LU) e l'lu partner e (insieme a RECEIVE_ALLOCATE) stabilisce una conversazione tra il tp di richiamo e il tp richiamabile. Dopo l'esecuzione di questo verbo, APPC genera un identificatore di conversazione (conv_id). Il conv_id è un parametro obbligatorio per tutti gli altri verbi di conversazione APPC.

Per un utente o un gruppo che usa indirizzi IP, emulatori 5250 o applicazioni APPC, è possibile assegnare unità di calcolo locali e remote predefinite. In questo caso, il campo per l'alias LU viene lasciato vuoto o Null e l'accesso alle unità logiche predefinite viene eseguito quando l'utente o il membro del gruppo avvia un programma APPC. Per altre informazioni sull'uso delle unità di archiviazione predefinite, vedere la sezione Integrazione di rete della Guida di Microsoft Host Integration Server.

RECEIVE_ALLOCATE
Rilasciato dal tp richiamabile per confermare che è pronto per avviare una conversazione con il tp di chiamata che ha emesso ALLOCATE o MC_ALLOCATE. Deve trattarsi del primo verbo APPC emesso dal tp richiamabile. Lo stato iniziale è RESET. Se il verbo viene eseguito correttamente (primary_rc è AP_OK ), lo stato cambia in RECEIVE.

RECEIVE_AND_POST o MC_RECEIVE_AND_POST
Riceve i dati e le informazioni sullo stato dell'applicazione in modo asincrono. Ciò consente al tp locale di procedere con l'elaborazione mentre i dati vengono ancora arrivati all'unità lu locale. RECEIVE_AND_POST e MC_RECEIVE_AND_POST sono supportati solo dal sistema operativo Windows.

Anche se un RECEIVE_AND_POST asincrono o un MC_RECEIVE_AND_POST è in sospeso, è possibile eseguire i verbi seguenti:

REQUEST_TO_SEND o MC_REQUEST_TO_SEND

GET_TYPE

GET_ATTRIBUTES o MC_GET_ATTRIBUTES

TEST_RTS o MC_TEST_RTS

DEALLOCATE

SEND_ERROR o MC_SEND_ERROR

TP_ENDED

RECEIVE_AND_WAIT o MC_RECEIVE_AND_WAIT
Riceve tutti i dati attualmente disponibili dal tp del partner. Se al momento non sono disponibili dati, il tp locale attende l'arrivo dei dati.

RECEIVE_AND_WAIT e MC_RECEIVE_AND_WAIT sono stati modificati per agire come RECEIVE_AND_POST e MC_RECEIVE_AND_POST. Anche se è in sospeso un RECEIVE_AND_WAIT asincrono o MC_RECEIVE_AND_WAIT, è possibile eseguire i verbi seguenti:

REQUEST_TO_SEND o MC_REQUEST_TO_SEND

GET_TYPE

GET_ATTRIBUTES o MC_GET_ATTRIBUTES

TEST_RTS o MC_TEST_RTS

DEALLOCATE

SEND_ERROR o MC_SEND_ERROR

TP_ENDED

TP_STARTED
Rilasciato dal tp di richiamo, questo verbo notifica all'APPC che il tp è in fase di avvio. Per un utente o un gruppo che usa emulatori, 5250 emulatori o applicazioni APPC, è possibile assegnare le UNITÀ APPC locali e remote predefinite. Questi LU predefiniti sono accessibili quando l'utente o il membro del gruppo avvia un programma APPC (un emulatore TP, 5250 o un'applicazione APPC) e il programma non specifica alias LU. Per altre informazioni sull'uso delle unità di archiviazione predefinite, vedere Guida per l'integrazione della rete.

Limiti

Host Integration Server consente una chiamata asincrona di Windows APPC in sospeso per ogni connessione e un verbo di blocco per ogni thread. Ad esempio:

void ProcessVerbCompletion (WPARAM wParam, LPARAM lParam)  
{     
    int i;  
    for (i = 0; i < nPendingVerbs; i++)  
        if (pPendingVerbs[i].hAsync == wParam)  
            ProcessVCB( (LPVCB) lParam);  
}    . . .  
LRESULT CALLBACK SampleWndProc ( ... )  
{  
    if (msg == uAsyncAPPC) {  
        ProcessVerbCompletion(wParam; lParam);  
    }  
        else switch (msg) {  
        case WM_USER:  
            if (hAsync = WinAsyncAPPC(hwnd, &vcb))  
               pPendingVerbs [nPendingVerbs++].hAsync = hAsync;  
            break;  
    }  
}  
WinMain ( ... )  
{  
    if ( ( WinAPPCStartup ( ...) = = FALSE ) {  
    return FALSE ;  
    }  
    uAsyncAPPC = RegisterWindowsMessage ("WinAsyncAPPC") ;  
    while (GetMessage ( ...)  )  {  
    ...  
    WinAPPCCleanup ( ... )  
}  

Nota

Le eccezioni alla regola di una chiamata asincrona in sospeso sono RECEIVE_AND_POST, MC_RECEIVE_AND_POST, RECEIVE_AND_WAIT e MC_RECEIVE_AND_WAIT. Anche se questi verbi sono in sospeso, è anche possibile chiamare alcuni altri verbi.