HCL recently released a new version of the C API Toolkit for Notes/Domino 12.0 on Flexnet.
Good news, makefiles are back and included in the samples.
There are changes and additions in the following header files: nsfnote.h, nsfdb.h, dbmisc.h,osfile.h, osenv.h, osmisc.h, nif.h, client.h, idtable.h.
Aside from other new methods, NSFQueryDBExt2 and NSFQueryDBAddArgs are some interesting candidates to play with.
NSFQueryDBExt2 runs Domino Query Language (DQL) queries. Its inputs are a database handle, the query text, length of query text, and a set of flags. The input query must be translated into LMBCS prior to execution.
NSFQueryDBAddArgs is used to build a list of values to input into a Domino Query Language (DQL) query, specifying arguments through QUEP_ARGVAL structure.
QUEP_ARGVAL structure has been added to dbmiscods.h to build the argument value.
typedef struct
{
WORD type; /* Standard NSF types: TYPE_TEXT, TYPE_NUMBER, TYPE_TIME. */
DWORD length; /* For all textual values. */
DWORD ordinal; /* The nth argument in the query (so, the list needn't be in order). */
BOOL bBinaryForm; /* Whether NUMBER and DATETIME values have been created in the Value area. */
char ArgName[16]; /* Argument names can only be 16 bytes long. */
char Value[256]; /* The stringized value. */
} QUEP_ARGVAL
Some new flags for query processing have also been added to dbmisc.h.
QUEP_NO_EXEC //Explain only mode, only plan and return the explain output.
QUEP_DEBUG //Produce debugging output (notes.ini setting is independent of this).
QUEP_VIEWREFRESH //Refresh all views when they are opened (default is NO_UPDATE).
QUEP_EXPLAIN //Governs producing Explain output.
QUEP_PARSEONLY //To check for syntax only - stops short of planning.
QUEP_DSGNCATREFRESH //Before running the query, build/refresh the design catalog, will have no effect if you have less than Designer privileges on the database.
QUEP_DSGNCATREBUILD //Before running the query, rebuild the design catalog, will have no effect if you have less than Designer privileges on the database.
More new methods can be found in Chapter 1-2 in the “HCL C API Notes/Domino 12.0 User Guide“