When you derive from a KcsProfile class and create a KcsProfile instance you must provide these mandatory external entry points:
extern long KcsDLOpen ProfCount;
KcsProfile * KcsCreateProf(KcsStatus *sStat, KcsIO *aIO);
KcsProfile * KcsCreateProBlnk(KcsStatus *aStat, KcsId aCmmID,
KcsVersion aCmmVersion, KcsId aProfId,
KcsVersion aProfVersion);
The KcsCreateProf() entry point creates an instance of a KcsProfile derivative that is determined by the profile's CMM Id within aIO.
The KcsCreateProfBlnk() entry point creates an instance of a KcsProfile derivative that is determined by aCmmID and aCmmVersion. This is how an empty profile is created from scratch. The aProfId argument specifies which KcsProfileFormat derivative to use.