1 /* 2 * Main DLL interface to Queue Manager (BITS) 3 * 4 * Background Intelligent Transfer Service (BITS) interface. Dll is named 5 * qmgr for backwards compatibility with early versions of BITS. 6 * 7 * Copyright 2007 Google (Roy Shea) 8 * 9 * This library is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU Lesser General Public 11 * License as published by the Free Software Foundation; either 12 * version 2.1 of the License, or (at your option) any later version. 13 * 14 * This library is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 * Lesser General Public License for more details. 18 * 19 * You should have received a copy of the GNU Lesser General Public 20 * License along with this library; if not, write to the Free Software 21 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 22 */ 23 24 #include <stdio.h> 25 26 #define COBJMACROS 27 #include "objbase.h" 28 #include "winuser.h" 29 #include "winreg.h" 30 #include "advpub.h" 31 #include "olectl.h" 32 #include "rpcproxy.h" 33 #include "winsvc.h" 34 #include "qmgr.h" 35 36 #include "wine/debug.h" 37 38 WINE_DEFAULT_DEBUG_CHANNEL(qmgr); 39 40 /* Handle to the base address of this DLL */ 41 static HINSTANCE hInst; 42 43 /* Entry point for DLL */ 44 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) 45 { 46 TRACE("(%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved); 47 48 switch (fdwReason) 49 { 50 case DLL_WINE_PREATTACH: 51 return FALSE; /* prefer native version */ 52 case DLL_PROCESS_ATTACH: 53 DisableThreadLibraryCalls(hinstDLL); 54 hInst = hinstDLL; 55 break; 56 } 57 58 return TRUE; 59 } 60 61 HRESULT WINAPI DllRegisterServer(void) 62 { 63 return __wine_register_resources(hInst); 64 } 65 66 HRESULT WINAPI DllUnregisterServer(void) 67 { 68 return __wine_unregister_resources(hInst); 69 } 70