CeLog Pre-Defined Data Types (Compact 2013)
3/28/2014
CeLog associates each chunk of logged data with an ID that identifies the data type. The following table shows some user data types that are predefined:
Type ID |
Description |
---|---|
CELID_RAW_LONG |
Long integers. |
CELID_RAW_ULONG |
Unsigned long integers, such as DWORDs. |
CELID_RAW_SHORT |
Short integers. |
CELID_RAW_USHORT |
Unsigned short integers. |
CELID_RAW_WCHAR |
Wide (Unicode) characters. An array of this type must be null-terminated. |
CELID_RAW_CHAR |
Characters. An array of this type might not be null-terminated, because it may contain data other than a string. |
CELID_RAW_UCHAR |
Unsigned characters. An array of this type might not be null-terminated, because it may contain data other than a string. |
CELID_RAW_FLOAT |
Floating-point numbers. |
CELID_RAW_DOUBLE |
Double-precision floating-point numbers. |
You may log your data as an array of one of these raw types, such as an array of DWORDs. The size of the array is described by the byte count wlen passed to CeLogData. For example, if you log an array of 10 DWORD values, then pass a wlen of 10*sizeof(DWORD).
The CeLog header file, celog.h, contains additional data types. However, the additional data types are intended for predefined kernel events that CeLog captures, and should be used with caution.
Alternatively, you may define your own data type ID, in the range from CELID_USER to CELID_MAX. Because an identifier you define might collide with definitions made by other applications, make sure that your logging is turned off by default.
When you define your own event ID, you can also log a custom data structure for that event.