C16_BinOpen
C16_BinOpen(const vPHANDLE aInstHdl, const vPHANDLE aDirHdl, const vCHAR* aName, vFLAGS aFlags, vPHANDLE* aBinHdl) : vERROR
Binäres Objekt oder Verzeichnis öffnen
Details
- aInstHdl: Instanz-Handle
- aDirHdl: Deskriptor des Elternverzeichnisses
- aName: Objekt- bzw. Verzeichnisname
- aFlags:
- Optionen:
_BinLock_BinSharedLock_BinSingleLock_BinCreate_BinCreateNew_BinDirectory
- aBinHdl: Deskriptor des binären Objektes
- Resultat: vERROR Fehlerwert
- Siehe: Befehle der Programmierschnittstelle , C16_BinClose()
Mit dieser Funktion wird ein binäres Objekt bzw. Verzeichnis geöffnet oder neu angelegt.
Im Parameter (aInstHdl) wird der von C16_InitInstance() bereitgestellte Instanz-Handle, der an die Funktion C16_OpenArea() zum Öffnen der Datenbank verwendet wurde, übergeben.
In (aDirHdl) wird der Deskriptor des Ausgangsverzeichnisses angegeben.
Sofern das Ausgangsverzeichnis dem Wurzelverzeichnis entspricht, wird in (aDirHdl) 0 angegeben. Das Wurzelverzeichnis ist immer vorhanden und braucht auch nicht geöffnet zu werden.
Die maximale Länge eines Verzeichnisnamens (ohne Pfad) beträgt 60 Zeichen. Der Verzeichnisname darf keine Steuerzeichen oder die Zeichen * und ? enthalten. Es können maximal 60 Ebenen angelegt werden.
Der Objektname (aName) kann auch einen Pfadbestandteil enthalten, der relativ zum Ausgangsverzeichnis ist.
Folgende Optionen (aFlags) können angegeben werden:
_BinCreate: Das Objekt wird im Ausgangsverzeichnis erstellt._BinCreateNew: Das Objekt wird explizit im Ausgangsverzeichnis erstellt. Gibt_rExistszurück, wenn das Objekt schon existiert._BinLock: Das Objekt wird beim Öffnen oder Anlegen für andere Benutzer gesperrt._BinSharedLock: Das Objekt wird beim Öffnen oder Anlegen mit anderen Benutzer gesperrt._BinSingleLock: Das Objekt wird beim Öffnen oder Anlegen für alle Benutzer gesperrt._BinDirectory: Es wird ein Verzeichnis geöffnet.
Wird keine Sperroption angegeben, wird das Objekt mit einer gemeinsamen Sperre ( _BinSharedLock ) geöffnet.
Die Sperrung eines Objektes bleibt bis zum Schließen des Objektes mit C16_BinClose() , oder bis sich der Benutzer von der Datenbank abmeldet, erhalten. Änderungen an einem Objekt (Update, Import usw.) können nur bei einer exklusiven Sperre (_BinLock bzw. _BinSingleLock) vorgenommen werden.
Der erzeugte Deskriptor wird in (aBinHdl) zurückgegeben.
Der Rückgabewert vom Typ vERROR beinhaltet entweder 0 (kein Fehler), einen negativen Fehlerwert (siehe Fehlerwerte ) oder einen der folgenden Fehlerwerte:
_rLocked: Das Objekt bzw. Verzeichnis ist bereits gesperrt._rNoKey: Das Objekt bzw. Verzeichnis existiert nicht. Nächstes Objekt bzw. Verzeichnis gelesen._rLastRec: Das Objekt bzw. Verzeichnis existiert nicht. Letztes Objekt bzw. Verzeichnis gelesen._rNoRec: Das Objekt bzw. Verzeichnis existiert nicht. Kein weiteres Objekt bzw. Verzeichnis vorhanden._rExists: Das Objekt bzw. Verzeichnis existiert bereits._rNoRights: Benutzerrechte nicht ausreichend._rDeadlock: Verklemmung aufgetreten.C16ERR_BIN_OPERATION: Versuch ein binäres Objekt im Wurzelverzeichnis anzulegen.