/****************************************************************************** * Print Spooler Functions * * * Copyright 1999 Thuy Nguyen */ #include "commctrl.h" #include "debugtools.h" DEFAULT_DEBUG_CHANNEL(winspool) HINSTANCE hcomctl32 = 0; HDPA (WINAPI* WINSPOOL_DPA_CreateEx)(INT, HANDLE); LPVOID (WINAPI* WINSPOOL_DPA_GetPtr)(const HDPA, INT); INT (WINAPI* WINSPOOL_DPA_InsertPtr)(const HDPA, INT, LPVOID); /****************************************************************************** * WINSPOOL_EntryPoint * * Winspool entry point. * */ BOOL WINAPI WINSPOOL_EntryPoint(HINSTANCE hInstance, DWORD reason, LPVOID lpReserved) { switch (reason) { case DLL_PROCESS_ATTACH: hcomctl32 = LoadLibraryA("COMCTL32.DLL"); WINSPOOL_DPA_CreateEx = (void*)GetProcAddress(hcomctl32, (LPCSTR)340L); WINSPOOL_DPA_GetPtr = (void*)GetProcAddress(hcomctl32, (LPCSTR)332L); WINSPOOL_DPA_InsertPtr = (void*)GetProcAddress(hcomctl32, (LPCSTR)334L); break; case DLL_PROCESS_DETACH: FreeLibrary(hcomctl32); break; } return TRUE; }