| /****************************************************************************** | 
 |  * 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; | 
 | } | 
 |  | 
 |  |