Freigeben über


GetAppcConfig

Die GetAppcConfig-Funktion bietet einen asynchronen Einstiegspunkt zum Abrufen der Remotesysteme, mit denen eine bestimmte lokale LU eine Verbindung herstellen kann.

Syntax

  
HANDLE WINAPI GetAppcConfig(   
HANDLE hWnd,  
LPSTR pLocalLu,  
LPSTR pMode,  
LPINT pNumRemLu,  
INT iMaxRemLu,  
PSTR pRemLu,  
LPINT pAsyncRetCode  
);  

Parameter

hWnd
Angegebener Parameter. Enthält das Handle des Fensters, das nach Abschluss des Aufrufs eine asynchrone Vervollständigungsmeldung empfangen soll. Wenn nicht NULL, wird die Vervollständigungsmeldung an dieses Fensterhandle gesendet. In diesem Fall muss pAsyncRetCode (der letzte Parameter) NULL sein. Die asynchrone Vervollständigung von Nachrichten wird für Windows-Anwendungen zur Verwendung dieser Funktion empfohlen.

pLocalLu
Angegebener Parameter. Gibt die Adresse eines Puffers an, der den lokalen LU-Namen enthält, für den Informationen zurückgegeben werden. Dieser lokale LU-Name muss wie folgt angegeben werden:

  • Nichtpadded

  • Null beendet

  • ASCII-Zeichenfolge

  • Maximale Länge von acht Bytes (ohne Abschlusszeichen)

    Um die Verwendung der lokalen Standard-LU des Benutzers anzufordern, sollte der Puffer acht Leerzeichen gefolgt von null enthalten.

    Pmode
    Angegebener Parameter. Gibt die Adresse eines Puffers an, der den Modusnamen enthält, für den Informationen zurückgegeben werden. In Microsoft Host Integration Server wird dieser Parameter nicht verwendet, aber zur Kompatibilität mit früheren Versionen von SNA Server muss ein Modusname wie folgt angegeben werden:

  • Nichtpadded

  • Null beendet

  • ASCII-Zeichenfolge

  • Maximale Länge von acht Bytes (ohne Abschlusszeichen)

    pNumRemLu
    Angegebener Parameter. Gibt die Adresse einer ganzzahligen Variablen an, die nach Abschluss der Funktion die Anzahl der Remote-LUs enthält, die zurückgegeben worden wären, wenn der von pRemLu angegebene Puffer groß genug gewesen wäre, um alle Remote-LUs aufzunehmen.

    iMaxRemLu
    Angegebener Parameter. Gibt die Anzahl der Remote-LU-Namen an, die von dem puffergehalten werden können, der von pRemLu angegeben wird.

    pRemLu
    Angegebener Parameter. Gibt die Adresse des Puffers an, der die Remote-LU-Namen enthält, nachdem die Funktion abgeschlossen ist. Die Informationen werden als Array von Zeichenfolgen zurückgegeben. Jeder Remote-LU-Name wird wie folgt im Puffer gespeichert:

  • Nichtpadded

  • Null beendet

  • ASCII-Zeichenfolge

  • Maximale Länge von acht Bytes (ohne Abschlusszeichen)

    Die Zeichenfolgen starten alle neun Bytes im Puffer, und so (pRemLu + (i–1)*9) gibt den Anfang der ith Zeichenfolge an. Wenn der Puffer zu klein ist, um alle Namen aufzunehmen, werden nur iMaxRemLu-Zeichenfolgen zurückgegeben.

    pAsyncRetCode
    Angegebener Parameter. Gibt die Adresse einer ganzzahligen Variablen an, die verwendet wird, um den Rückgabecode aus dieser Funktion zu speichern, wenn die angegebene Adresse nicht NULL ist. Die Rückgabecodes entsprechen denen, die von einer asynchronen Vervollständigungsmeldung zurückgegeben werden. Während der Aufruf abgeschlossen ist, wird der Wert dieser Variablen APPC_CFG_PENDING. Wenn dieser asynchrone Aufruf abgeschlossen ist, enthält der Wert dieser Variablen einen anderen Rückgabecode als APPC_CFG_PENDING.

    Diese Variable wird durch Abfragen auf Vervollständigung verwendet, wenn die asynchrone Nachrichtenvervollständigung für ein Fensterhandle nicht verwendet wird.

    Beachten Sie, dass hWnd null sein muss, wenn pAsyncRetCode verwendet wird.

Rückgabewert

Die Bedeutung des sofortigen Rückgabewerts hängt davon ab, ob die asynchrone Anforderung akzeptiert wurde oder nicht. Um die Akzeptanz zu testen, bewerten Sie den Ausdruck:

(<Zurückgegebenes Handle> & APPC_CFG_SUCCESS)

Wenn der Ausdruck FALSE ist, wurde die Anforderung abgelehnt. Der Rückgabewert ist dann einer der synchronen Rückgabecodes in der folgenden Liste. Wenn der Ausdruck TRUE ist, wurde die Anforderung akzeptiert, und einer der folgenden Fälle gilt.

  • Wenn hWnd nicht NULL war, wird eine Vervollständigungsmeldung in der folgenden Form eingetroffen:

    Nachrichtenparameter Beschreibung
    hWnd Das Handle des Zielfensters. Dieser Wert entspricht dem Wert, der beim ersten Aufruf in hWnd übergeben wird.
    uMsg Entspricht der Zahl, die von einem Aufruf von RegisterWindowMessage zurückgegeben wird, wobei WinAppcCfg als identifizierende Zeichenfolge verwendet wird. Diese Zeichenfolge ist vom #define WIN_APPC_CFG_COMPLETION_MSG verfügbar.
    wParam Entspricht dem handle , der vom ersten Aufruf zurückgegeben wurde. Es wird als Korrelator verwendet.
    lParam Enthält einen der asynchronen Rückgabecodes in der folgenden Liste.
  • Wenn pAsyncRetCode nicht NULL war, wird die angegebene Ganzzahlvariable auf APPC_CFG_PENDING festgelegt. Nachdem diese Funktion asynchron abgeschlossen wurde, ändert sich ihr Wert in einen der unten aufgeführten asynchronen Rückgabecodes.

Synchrone Rückgabecodes

APPC_CFG_ERROR_NO_APPC_INIT
Die Windows APPC-Bibliothek muss durch einen Aufruf von WinAPPCStartup initialisiert werden, bevor GetAppcConfig aufgerufen wird. Dies wurde nicht ausgeführt.

APPC_CFG_ERROR_INVALID_HWND
Das in hWnd übergebene Handle war ungleich NULL, aber kein gültiges Fensterhandle.

APPC_CFG_ERROR_BAD_POINTER
Der hWnd-Parameter war NULL, was angibt, dass die Vervollständigung durch Festlegen der ganzzahligen Variablen signalisiert wurde, auf die pAsyncRetCode verweist, aber pAsyncRetCode war kein gültiger Zeiger.

APPC_CFG_ERROR_UNCLEAR_COMPLETION_MODE
Sowohl hWnd als auch pAsyncCompletion waren ungleich NULL, sodass GetAppcConfig nicht entscheiden konnte, wie die Vervollständigung signalisiert werden sollte.

APPC_CFG_ERROR_TOO_MANY_REQUESTS
Zu viele GetAppcConfig-Aufrufe werden bereits verarbeitet (derzeit gibt dies an, dass 16 Anforderungen ausstehend sind). Versuchen Sie den Aufruf nach einer Verzögerung erneut. Für Microsoft Windows Version 3. x System, müssen Sie in diesem Zeitraum nachgeben.

APPC_CFG_ERROR_GENERAL_FAILURE
Es ist ein unerwarteter Fehler aufgetreten, wahrscheinlich Systemcharakter.

Asynchrone Rückgabecodes

APPC_CFG_SUCCESS_NO_DEFAULT_REMOTE
Die Konfigurationsinformationen wurden abgerufen, und entweder wurde keine Standard-Remote-LU definiert oder die angegebene lokale LU konnte nicht darauf zugreifen.

APPC_CFG_SUCCESS_DEFAULT_REMOTE
Die Konfigurationsinformationen wurden abgerufen, und es gibt eine Standard-Remote-LU, auf die die angegebene lokale LU zugreifen kann.

APPC_CFG_ERROR_NO_DEFAULT_LOCAL_LU
Es wurde versucht, Remote-LUs abzurufen, die mit der lokalen Standard-LU zusammenarbeiten, aber es wurde keine lokale Standard-LU konfiguriert.

APPC_CFG_ERROR_BAD_LOCAL_LU
Die angegebene lokale LU ist entweder nicht konfiguriert oder für das aufrufende Verb ungültig.

APPC_CFG_ERROR_GENERAL_FAILURE
Es ist ein unerwarteter Fehler aufgetreten, der wahrscheinlich Systemcharakter hat.

Hinweise

WinAPPCStartup muss aufgerufen werden, bevor GetAppcConfig verwendet wird.

Ob ein Fehlercode Erfolg oder Fehler darstellt, kann ermittelt werden, indem entweder (RetCode& APPC_CFG_SUCCESS) ausgewertet wird, um auf Erfolg zu testen, oder (RetCode& APPC_CFG_FAILURE), um auf Fehler zu testen.

Das folgende Codefragment zeigt, wie eine Konsolenanwendung den Abschluss testen kann:

while (*pAsyncRetCode == APPC_CFG_PENDING)  
{  
    sleep(250);  
}