Verbos APPC y extensiones de Windows

En este tema se describen los verbos de APPC y las extensiones de Windows compatibles con Host Integration Server:

Verbos APPC

Las siguientes descripciones de verbos appC contienen características importantes y deben leerse antes de usar esta versión de Windows APPC.

ASIGNAR o MC_ALLOCATE
Emitido por el programa de transacciones de invocación (TP), este verbo asigna una sesión entre la unidad lógica local (LU) y la LU del asociado y (junto con RECEIVE_ALLOCATE) establece una conversación entre el TP de invocación y el TP invocable. Una vez que este verbo se ejecuta correctamente, APPC genera un identificador de conversación (conv_id). El conv_id es un parámetro necesario para todos los demás verbos de conversación appC.

Para un usuario o grupo mediante CSP, emuladores de 5250 o aplicaciones APPC, puede asignar LU locales y remotas predeterminadas. En este caso, el campo del alias de LU se deja en blanco o null y se obtiene acceso a las LU predeterminadas cuando el usuario o el miembro del grupo inicia un programa APPC. Para obtener más información sobre el uso de LU predeterminadas, consulte la sección Integración de red de la Ayuda de Microsoft Host Integration Server.

RECEIVE_ALLOCATE
Emitido por el TP invocable para confirmar que está listo para iniciar una conversación con el TP invocando que emitió ALLOCATE o MC_ALLOCATE. Debe ser el primer verbo APPC emitido por el TP invocable. El estado inicial es RESET. Si el verbo se ejecuta correctamente (primary_rc es AP_OK ), el estado cambia a RECEIVE.

RECEIVE_AND_POST o MC_RECEIVE_AND_POST
Recibe de forma asincrónica los datos de la aplicación y la información de estado. Esto permite que el TP local continúe con el procesamiento mientras los datos siguen llegando a la LU local. RECEIVE_AND_POST y MC_RECEIVE_AND_POST solo son compatibles con el sistema operativo Windows.

Aunque un RECEIVE_AND_POST asincrónico o MC_RECEIVE_AND_POST está pendiente, se pueden emitir los verbos siguientes:

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
Recibe los datos que están disponibles actualmente en el TP del asociado. Si no hay datos disponibles actualmente, el TP local espera a que lleguen los datos.

RECEIVE_AND_WAIT y MC_RECEIVE_AND_WAIT se han modificado para actuar como RECEIVE_AND_POST y MC_RECEIVE_AND_POST. Aunque un RECEIVE_AND_WAIT asincrónico o MC_RECEIVE_AND_WAIT está pendiente, se pueden emitir los verbos siguientes:

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
Emitido por la invocación de TP, este verbo notifica a APPC que se está iniciando el TP. Para un usuario o grupo mediante CSP, emuladores de 5250 o aplicaciones APPC, puede asignar LU locales y remotas predeterminadas de APPC. Se obtiene acceso a estas LU predeterminadas cuando el usuario o el miembro del grupo inicia un programa APPC (un emulador tp, 5250 o aplicación APPC) y el programa no especifica alias de LU. Para obtener más información sobre el uso de LU predeterminadas, consulte La Ayuda de integración de red.

Límites

Host Integration Server permite una llamada asincrónica de Windows APPC pendiente por conexión y un verbo de bloqueo por subproceso. Por ejemplo:

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

Las excepciones a la regla de una llamada asincrónica pendiente son RECEIVE_AND_POST, MC_RECEIVE_AND_POST, RECEIVE_AND_WAIT y MC_RECEIVE_AND_WAIT. Aunque estos verbos están pendientes, también se pueden llamar otros verbos.