Returns the Natural Access Server version, build date, and compatibility level.
DWORD ctaGetVersionEx ( CTAHD ctahd, CTA_REV_INFO *pinfo, DWORD size)
Argument |
Description |
ctahd |
Context handle that specifies the server on which commands are executed. ctahd can be a void context handle. |
pinfo |
Pointer to the memory area. The CTA_REV_INFO structure is: typedef struct See the Details section for a description of these fields. |
size |
Size of the data structure. |
Return value |
Description |
CTAERR_BAD_SIZE |
size is not valid. |
CTAERR_BAD_ARGUMENT |
pinfo is NULL. |
CTAERR_INVALID_CTAHD |
Context handle is invalid. |
CTAERR_NOT_INITIALIZED |
Natural Access is not initialized. Call ctaInitialize first. |
CTAERR_SVR_COMM |
Server communication error. |
ctaGetVersionEx returns the Natural Access Server version, build date, and compatibility level.
ctahd can be a void context handle. A void context handle refers only to the server on which the commands are executed and not to any real context object. Each server has a unique void context handle. If the void context handle is equal to NULL_CTAHD, it refers to the default server.
The CTA_REV_INFO structure contains the following fields:
Field |
Description |
---|---|
size |
Number of bytes written at the address pointed to by pinfo. |
majorrev |
Major revision number of Natural Access. This value changes when a Natural Access release contains major enhancements such as new APIs or new services. |
minorrev |
Minor revision of Natural Access. This value changes when a Natural Access release contains minor enhancements, bug fixes, or both. |
builddate |
A NULL-terminated string indicating the build date of the revision, in mm dd yyyy format. |
compatlevel |
Compatibility level of the specified server. The compatibility level changes when the release includes enhancements that require applications to be recompiled because the changes are not backward compatible. |
Refer to Verifying compatibility for more information.
/* Abort execution if NMS delivers version with compatibility level changed: */
void DemoCheckVersion( void )
{
CTA_REV_INFO info;
CTAHD void_ctahd;
/* Server name descriptor */
char server_desc[] = "host.nmss.com:2244";
/* Create a void context handle */
ctaCreateContext(NULL_CTAQUEUEHD, 0, server_desc, &void_ctahd);
ctaGetVersionEx( void_ctahd, &info, sizeof(info) );
if ( info.compatlevel != CTA_COMPATLEVEL )
{
printf("Natural Access compatibility level does not match.
Re-compile.\n");
exit(-1);
}
}