Condividi tramite


Verbi APPC ed estensioni di 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 chiamante (TP), questo verbo alloca una sessione tra l'unità logica locale (LU) e il lu partner e (insieme a RECEIVE_ALLOCATE) stabilisce una conversazione tra il TP richiamante 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 IP, 5250 emulatori 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à LU predefinite viene eseguito quando l'utente o il membro del gruppo avvia un programma APPC. Per altre informazioni sull'uso di 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 iniziare una conversazione con il TP 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 dell'applicazione e le informazioni sullo stato in modo asincrono. Ciò consente al tp locale di procedere con l'elaborazione mentre i dati sono ancora in arrivo nell'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 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 non sono attualmente disponibili dati, il tp locale attende l'arrivo dei dati.

RECEIVE_AND_WAIT e MC_RECEIVE_AND_WAIT sono state modificate per agire come RECEIVE_AND_POST e MC_RECEIVE_AND_POST. Anche se un RECEIVE_AND_WAIT asincrono o MC_RECEIVE_AND_WAIT è 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

TP_STARTED
Rilasciato dal TP richiamato, questo verbo notifica all'APPC che il tp è in fase di avvio. Per un utente o un gruppo che usa provider di servizi di configurazione, 5250 emulatori o applicazioni APPC, è possibile assegnare le unità organizzative APPC locali e remote predefinite. Queste unità di calcolo predefinite 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 gli alias LU. Per altre informazioni sull'uso di unità di archiviazione predefinite, vedere Guida all'integrazione della rete.

Limits

Host Integration Server consente una chiamata asincrona di Windows APPC in sospeso per ogni connessione e un verbo di blocco per ogni thread. Per 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 ( ... )  
}  

Annotazioni

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, è possibile chiamare anche altri verbi.