CeLogExportTable_V3 (Compact 2013)
3/28/2014
This structure contains function pointers to the functions required by the event-tracking engine.
The difference between this structure and the previous CeLogExportTable structure is that the function pointers are strongly typed, and the table includes a new CeLogInterruptData method. Event tracking libraries must also set the dwVersion member to 3 before calling IOCTL_CELOG_REGISTER.
Event tracking libraries built with older structures continue to work on newer versions of the OS, but new event tracking libraries must use this structure.
Syntax
typedef struct {
DWORD dwVersion;
PFN_CeLogExport_LogData pfnCeLogData;
PFN_CeLogExport_LogInterrupt pfnCeLogInterrupt;
PFN_CeLogExport_SetZones pfnCeLogSetZones;
PFN_CeLogExport_QueryZones pfnCeLogQueryZones;
DWORD dwCeLogTimerFrequency;
PFN_CeLogExport_LogInterruptData pfnCeLogInterruptData;
} CeLogExportTable_V3;
Members
Term |
Definition |
---|---|
dwVersion |
Version of this structure. Must be set to 3. |
pfnCeLogData |
Required. Pointer to the DL version of CeLogData. Receives CeLogData calls. |
pfnCeLogInterrupt |
Optional. Pointer to the DLL version of CeLogInterrupt. |
pfnCeLogSetZones |
Optional. Pointer to the DLL version of CeLogSetZones. |
pfnCeLogQueryZones |
Optional. Pointer to the CeLogGetZones function implemented by the DLL. Receives calls to the CeLogGetZones function, minus the last parameter. |
dwCeLogTimerFrequency |
The frequency of the performance counter used to generate the timestamps in the event tracking log. Less than or equal to QueryPerformanceFrequency. Set to zero if not used. |
pfnCeLogInterruptData |
Optional. Pointer to the DLL version of CeLogInterruptData. Receives CeLogInterruptData calls. |
Remarks
This structure is used to create a replacement DLL for Celog.dll, which performs default system event tracking.
This structure is passed to the kernel in an I/O control call to the KernelLibIoControl function to register the service.
The timer frequency used to generate timestamps in the log is not necessarily equal to the return value from QueryPerformanceFrequency.
The dwCeLogTimerFrequency value is used by the kernel to set the dwFrequency value in the CEL_LOG_MARKER event structure.
See Also
Reference
CeLog Event Tracking Structures
CeLogData
CEL_LOG_MARKER
CeLogSetZones
CeLogGetZones
KernelLibIoControl
QueryPerformanceFrequency