/* pdlsvc.h */ #include #include #ifndef _PDLSVC_H_ #define _PDLSVC_H_ #define G_ALLOC(size) HeapAlloc (GetProcessHeap(), HEAP_ZERO_MEMORY, size) #define G_FREE(ptr) HeapFree (GetProcessHeap(), 0, ptr) // definitionsdwAutoNameFormat typedef struct _LOG_THREAD_DATA { // These fields are written by the main thread // and read by the logging thread struct _LOG_THREAD_DATA *next; HKEY hKeyQuery; HANDLE hExitEvent; BOOL bReloadNewConfig; TCHAR szQueryName[MAX_PATH]; // these fields are written and read by the logging thread DWORD dwTimeInterval; // in seconds LPTSTR mszCounterList; LPTSTR szCmdFileName; DWORD dwLogType; DWORD dwAutoNameFormat; DWORD dwRenameIntervalCount; DWORD dwRenameIntervalUnits; DWORD dwCurrentSerialNumber; } LOG_THREAD_DATA, FAR * LPLOG_THREAD_DATA; typedef struct _LOG_COUNTER_INFO { struct _LOG_COUNTER_INFO *next; HCOUNTER hCounter; } LOG_COUNTER_INFO, * PLOG_COUNTER_INFO; extern PLOG_COUNTER_INFO pFirstCounter; // global variables extern HANDLE hEventLog; extern SERVICE_STATUS_HANDLE hPerfLogStatus; extern SERVICE_STATUS ssPerfLogStatus; // pdlsvc.c void PerfDataLogServiceControlHandler( IN DWORD dwControl ); void PerfDataLogServiceStart ( IN DWORD argc, IN LPTSTR *argv ); void __cdecl main(void); // logthred.c DWORD LoggingThreadProc ( IN LPVOID lpThreadArg ); #endif //_PDLSVC_H_