dciEZRegister issues dciInitialize and dciRegister for each individual classid level, and dciAddInstance for a single instance level. dciEZRegister creates all of the necessary class, instance, label, data and instance level structures needed for a complete metricid registration based on information provided by the provider, and documented defaults. dciEZRegister issues a dciTerminate upon completion of its registration.
#include <dci.h>
char *classidstr;
char *classlblstr;
char *instancelblstr;
uint32 funcaddr;
void *userword;
uint32 datasize;
char *datalblstr;
uint32 datatype;
uint32 dataunits;
uint32 flags;
uint32 instance;
uint32 itype;
uint32 dtype;
uint32 dunits;
uint32 datasize;
char *ulrc; /* MetricIdString */
ulrc = dciEZRegister(classidstr, classlblstr,
instancelblstr, funcaddr, userword,
datasize, datalblstr, datatype, dataunits,
flags, instance, itype, dtype, dunits,
datasize);