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

Other Resources

OAL Structures