DBVEC
Data Type : Database Drivers
DBVEC - Database Driver Vector.
#include <dbdrv.h>
Definition :
typedef struct dbvec {
char ClassName[MAX_DBDRV_NAME+1]; /* name of driver class+'\0' */
HMODULE hModule; /* hModule of loaded module */
/* Do per-process initialization routine. This is called just
after the LoadLibrary, and is the first entry point in the
library. When this entry point is called, all of the other
entry point vectors are filled in by this routine. */
STATUS (LNCALLBACKPTR Init)(
struct dbvec far *vec);
/* Per-process termination routine, ASSUMING that all open
sessions for this context have been closed by the time this is
called. This is called just prior to the FreeLibrary. */
STATUS (LNCALLBACKPTR Term)(
struct dbvec far *vec);
/* Open a session. Any databases opened as a side-effect of
Functions performed on this session will gather up their
context in the hSession returned by this routine. */
STATUS (LNCALLBACKPTR Open)(
struct dbvec far *vec,
HDBDSESSION far *rethSession);
/* Close a session, and as a side-effect all databases whose
context has been built up in hSession. */
STATUS (LNCALLBACKPTR Close)(
struct dbvec far *vec,
HDBDSESSION hSession);
/* Set auxiliary context, used principally when called from
Desk */
STATUS (LNCALLBACKPTR SetOpenContext)(
struct dbvec far *vec,
HDBDSESSION hSession,
char far *DefaultDbName,
DBOPENBYIDPROC Proc,
DHANDLE hNames,
DWORD hParentWnd);
/* Perform a function on a session. If any databases must be
opened as a side-effect of this function, gather context into
hSession so that it may be later deallocated/closed in
Close. */
STATUS (LNCALLBACKPTR Function)(
struct dbvec far *vec,
HDBDSESSION hSession,
WORD Function,
WORD argc,
DWORD far *argl,
void far * far *argv,
DHANDLE far *rethResult,
DWORD far *retResultLength);
/* Flags */
FLAG fUpdateIfModified:1; /* TRUE if we want UpdateCollections
if modified */
} DBVEC;
Description :
This data structure contains definitions required to implement a database driver. A database driver is an API program (implemented as an executable program library) that can read data from non-Domino databases using the @functions, @DbColumn and @DbLookup.
See the chapter on external database drivers in the Lotus C API User Guide for more information.
See Also : HDBDSESSION