Verbes APPC et extensions Windows

Cette rubrique décrit les verbes APPC et les extensions Windows pris en charge par Host Integration Server :

Verbes APPC

Les descriptions de verbe APPC suivantes contiennent des fonctionnalités importantes et doivent être lues avant d’utiliser cette version de Windows APPC.

ALLOCATE ou MC_ALLOCATE
Émis par le programme de transaction d’appel (TP), ce verbe alloue une session entre l’unité logique locale (LU) et l’unité utilisateur partenaire et (conjointement avec RECEIVE_ALLOCATE) établit une conversation entre le TP appelant et le TP invokable. Une fois ce verbe exécuté avec succès, APPC génère un identificateur de conversation (conv_id). Le conv_id est un paramètre obligatoire pour tous les autres verbes de conversation APPC.

Pour un utilisateur ou un groupe utilisant des TPs, des émulateurs 5250 ou des applications APPC, vous pouvez affecter des unités LU locales et distantes par défaut. Dans ce cas, le champ de l’alias lu est laissé vide ou null et les unités de référence par défaut sont accessibles lorsque l’utilisateur ou le membre du groupe démarre un programme APPC. Pour plus d’informations sur l’utilisation des unités de référence par défaut, consultez la section Intégration réseau de l’aide de Microsoft Host Integration Server.

RECEIVE_ALLOCATE
Émis par le TP invokable pour confirmer qu’il est prêt à commencer une conversation avec le TP appelant qui a émis ALLOCATE ou MC_ALLOCATE. Il doit s’agir du premier verbe APPC émis par le TP invokable. L’état initial est RESET. Si le verbe s’exécute correctement (primary_rc est AP_OK), l’état devient RECEIVE.

RECEIVE_AND_POST ou MC_RECEIVE_AND_POST
Reçoit les données d’application et les informations status de manière asynchrone. Cela permet au TP local de poursuivre le traitement pendant que les données arrivent toujours à l’unité lu locale. RECEIVE_AND_POST et MC_RECEIVE_AND_POST sont uniquement pris en charge par le système d’exploitation Windows.

Bien qu’une RECEIVE_AND_POST ou MC_RECEIVE_AND_POST asynchrone soit en suspens, les verbes suivants peuvent être émis :

REQUEST_TO_SEND ou MC_REQUEST_TO_SEND

GET_TYPE

GET_ATTRIBUTES ou MC_GET_ATTRIBUTES

TEST_RTS ou MC_TEST_RTS

DEALLOCATE

SEND_ERROR ou MC_SEND_ERROR

TP_ENDED

RECEIVE_AND_WAIT ou MC_RECEIVE_AND_WAIT
Reçoit toutes les données actuellement disponibles à partir du tp partenaire. Si aucune donnée n’est actuellement disponible, le TP local attend que les données arrivent.

RECEIVE_AND_WAIT et MC_RECEIVE_AND_WAIT ont été modifiés pour agir comme RECEIVE_AND_POST et MC_RECEIVE_AND_POST. Bien qu’une RECEIVE_AND_WAIT asynchrone ou une MC_RECEIVE_AND_WAIT soit en suspens, les verbes suivants peuvent être émis :

REQUEST_TO_SEND ou MC_REQUEST_TO_SEND

GET_TYPE

GET_ATTRIBUTES ou MC_GET_ATTRIBUTES

TEST_RTS ou MC_TEST_RTS

DEALLOCATE

SEND_ERROR ou MC_SEND_ERROR

TP_ENDED

TP_STARTED
Émis par le TP appelant, ce verbe avertit APPC que le TP démarre. Pour un utilisateur ou un groupe utilisant des TPs, des émulateurs 5250 ou des applications APPC, vous pouvez affecter des unités de référence APPC locales et distantes par défaut. Ces LU par défaut sont accessibles lorsque l’utilisateur ou le membre du groupe démarre un programme APPC (une application TP, 5250 ou APPC) et que le programme ne spécifie pas d’alias LU. Pour plus d’informations sur l’utilisation des unités de référence par défaut, consultez Aide sur l’intégration réseau.

Limites

Host Integration Server autorise un appel asynchrone AppC Windows en cours par connexion et un verbe bloquant par thread. Par exemple :

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 ( ... )  
}  

Notes

Les exceptions à la règle d’un appel asynchrone en cours sont RECEIVE_AND_POST, MC_RECEIVE_AND_POST, RECEIVE_AND_WAIT et MC_RECEIVE_AND_WAIT. Bien que ces verbes soient exceptionnels, certains autres verbes peuvent également être appelés.