C16_InitInstance
C16_InitInstance(const vPHANDLE aPgifHdl,vPHANDLE* aInstHdl) : vERROR
Datenbank Instanz initialisieren
Details
- aPgifHdl: Modul-Handle
- aInstHdl: Instanz-Handle
- Resultat: vERROR Fehlerwert
- Siehe: Befehle der Programmierschnittstelle , C16_InitPgif() , C16_TermInstance()
Der Befehl initialisiert eine Datenbank-Instanz und stellt den dazugehörigen Instanz-Handle, der für das Öffnen einer Datenbank benötigt wird, in (aInstHdl). In (aPgifHdl) wird der von C16_InitPgif() bereitgestellte Modul-Handle übergeben.
info
Die Programmierschnittstelle ist nicht thread-sicher. Aufrufe müssen selbstständig synchronisiert werden, wenn von unterschiedlichen Threads auf die gleiche Instanz zugegriffen wird.
Der Rückgabewert vom Typ vERROR beinhaltet entweder 0 (kein Fehler) oder einen negativen Fehlerwert (siehe Fehlerwerte ).
Für jede Datenbank, auf die zugegriffen wird, ist eine eigene Datenbank-Instanz anzulegen.
Beispiel:
void main(void)
{
char pszMsgText[80];
vERROR nRes; // Funktionsergebnis
vPHANDLE hModule; // Modul-Handle
vPHANDLE hInstance; // Instanz-Handle
// Modul initialisieren und 4MB Speicher reservieren
nRes = C16_InitPgif(0x00400000, &hModule);
// Instanz initialisieren
nRes = nRes + C16_InitInstance(hModule, &hInstance);
// Datenbank öffnen
nRes = nRes + C16_OpenArea(hInstance, "TCP:CENTRAL", NULL,
"CENTRAL:\AS\T40", "USER", "UserPassword",
NULL, NULL, 32);
if(nErg <> 0)
{
sprintf(pszMsgText
"Error %d at opening database\n", nRes);
MsgBox(pszMsgText);
}
// Verarbeitung fortsetzen
C16_CloseArea(hInstance); // Datenbank schließen
C16_TermInstance(hInstance); // Instanz beenden
C16_TermPgif(hModule); // Modul beenden
}