Freigeben über


APPC-Verben und Windows-Erweiterungen

In diesem Thema werden die APPC-Verben und Windows-Erweiterungen beschrieben, die von Host Integration Server unterstützt werden:

APPC-Verben

Die folgenden APPC-Verbbeschreibungen enthalten wichtige Features und sollten vor der Verwendung dieser Version von Windows APPC gelesen werden.

ALLOCATE oder MC_ALLOCATE
Vom aufrufenden Transaktionsprogramm (TP) ausgegeben, ordnet dieses Verb eine Sitzung zwischen der lokalen logischen Einheit (LU) und der Partner-LU zu und stellt (in Verbindung mit RECEIVE_ALLOCATE) eine Konversation zwischen dem aufrufenden TP und dem aufrufenden TP ein. Nachdem dieses Verb erfolgreich ausgeführt wurde, generiert APPC einen Konversationsbezeichner (conv_id). Der conv_id ist ein erforderlicher Parameter für alle anderen APPC-Konversationsverben.

Für einen Benutzer oder eine Gruppe, die TPs, 5250-Emulatoren oder APPC-Anwendungen verwendet, können Sie lokale Standard- und Remote-LUs zuweisen. In diesem Fall bleibt das Feld für den LU-Alias leer oder NULL, und auf die Standard-LUs wird zugegriffen, wenn der Benutzer oder das Gruppenmitglied ein APPC-Programm startet. Weitere Informationen zur Verwendung von Standard-LUs finden Sie im Abschnitt Netzwerkintegration der Microsoft Host Integration Server-Hilfe.

RECEIVE_ALLOCATE
Wird vom aufrufbaren TP ausgegeben, um zu bestätigen, dass es bereit ist, eine Konversation mit dem aufrufenden TP zu beginnen, der ALLOCATE oder MC_ALLOCATE ausgestellt hat. Dies muss das erste APPC-Verb sein, das vom aufrufbaren TP ausgegeben wird. Der Anfangszustand ist RESET. Wenn das Verb erfolgreich ausgeführt wird (primary_rc AP_OK ist), ändert sich der Status in RECEIVE.

RECEIVE_AND_POST oder MC_RECEIVE_AND_POST
Empfängt Anwendungsdaten und status Informationen asynchron. Dies ermöglicht es dem lokalen TP, mit der Verarbeitung fortzufahren, während die Daten noch bei der lokalen LU ankommen. RECEIVE_AND_POST und MC_RECEIVE_AND_POST werden nur vom Windows-Betriebssystem unterstützt.

Während ein asynchroner RECEIVE_AND_POST oder MC_RECEIVE_AND_POST aussteht, können die folgenden Verben ausgegeben werden:

REQUEST_TO_SEND oder MC_REQUEST_TO_SEND

GET_TYPE

GET_ATTRIBUTES oder MC_GET_ATTRIBUTES

TEST_RTS oder MC_TEST_RTS

DEALLOCATE

SEND_ERROR oder MC_SEND_ERROR

TP_ENDED

RECEIVE_AND_WAIT oder MC_RECEIVE_AND_WAIT
Empfängt alle Daten, die derzeit vom Partner TP verfügbar sind. Wenn derzeit keine Daten verfügbar sind, wartet der lokale TP auf das Eintreffen von Daten.

RECEIVE_AND_WAIT und MC_RECEIVE_AND_WAIT wurden so geändert, dass sie sich wie RECEIVE_AND_POST und MC_RECEIVE_AND_POST verhalten. Während ein asynchroner RECEIVE_AND_WAIT oder MC_RECEIVE_AND_WAIT aussteht, können die folgenden Verben ausgegeben werden:

REQUEST_TO_SEND oder MC_REQUEST_TO_SEND

GET_TYPE

GET_ATTRIBUTES oder MC_GET_ATTRIBUTES

TEST_RTS oder MC_TEST_RTS

DEALLOCATE

SEND_ERROR oder MC_SEND_ERROR

TP_ENDED

TP_STARTED
Dieses Verb wird vom aufrufenden TP ausgegeben und benachrichtigt APPC, dass der TP gestartet wird. Für einen Benutzer oder eine Gruppe, die TPs, 5250-Emulatoren oder APPC-Anwendungen verwendet, können Sie standardmäßige lokale und Remote-APPC-LUs zuweisen. Auf diese Standard-LUs wird zugegriffen, wenn der Benutzer oder das Gruppenmitglied ein APPC-Programm (TP, 5250-Emulator oder APPC-Anwendung) startet und das Programm keine LU-Aliase angibt. Weitere Informationen zur Verwendung von Standard-LUs finden Sie in der Hilfe zur Netzwerkintegration.

Grenzwerte

Host Integration Server lässt einen ausstehenden asynchronen Windows APPC-Aufruf pro Verbindung und ein blockierende Verb pro Thread zu. Beispiel:

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

Hinweis

Die Ausnahmen von der Regel eines ausstehenden asynchronen Aufrufs sind RECEIVE_AND_POST, MC_RECEIVE_AND_POST, RECEIVE_AND_WAIT und MC_RECEIVE_AND_WAIT. Während diese Verben ausstehend sind, können bestimmte andere Verben auch genannt werden.