~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/shlwapi/shlwapi_main.c

Version: ~ [ wine-1.5.30 ] ~ [ wine-1.5.29 ] ~ [ wine-1.5.28 ] ~ [ wine-1.5.27 ] ~ [ wine-1.5.26 ] ~ [ wine-1.5.25 ] ~ [ wine-1.5.24 ] ~ [ wine-1.5.23 ] ~ [ wine-1.5.22 ] ~ [ wine-1.5.21 ] ~ [ wine-1.5.20 ] ~ [ wine-1.5.19 ] ~ [ wine-1.5.18 ] ~ [ wine-1.5.17 ] ~ [ wine-1.5.16 ] ~ [ wine-1.5.15 ] ~ [ wine-1.5.14 ] ~ [ wine-1.5.13 ] ~ [ wine-1.5.12 ] ~ [ wine-1.5.11 ] ~ [ wine-1.5.10 ] ~ [ wine-1.5.9 ] ~ [ wine-1.5.8 ] ~ [ wine-1.5.7 ] ~ [ wine-1.4.1 ] ~ [ wine-1.5.6 ] ~ [ wine-1.5.5 ] ~ [ wine-1.5.4 ] ~ [ wine-1.5.3 ] ~ [ wine-1.5.2 ] ~ [ wine-1.5.1 ] ~ [ wine-1.5.0 ] ~ [ wine-1.4 ] ~ [ wine-1.4-rc6 ] ~ [ wine-1.4-rc5 ] ~ [ wine-1.4-rc4 ] ~ [ wine-1.4-rc3 ] ~ [ wine-1.4-rc2 ] ~ [ wine-1.4-rc1 ] ~ [ wine-1.3.37 ] ~ [ wine-1.3.36 ] ~ [ wine-1.3.35 ] ~ [ wine-1.3.34 ] ~ [ wine-1.3.33 ] ~ [ wine-1.3.32 ] ~ [ wine-1.3.31 ] ~ [ wine-1.3.30 ] ~ [ wine-1.3.29 ] ~ [ wine-1.3.28 ] ~ [ wine-1.3.27 ] ~ [ wine-1.3.26 ] ~ [ wine-1.3.25 ] ~ [ wine-1.3.24 ] ~ [ wine-1.3.23 ] ~ [ wine-1.3.22 ] ~ [ wine-1.3.21 ] ~ [ wine-1.3.20 ] ~ [ wine-1.3.19 ] ~ [ wine-1.3.18 ] ~ [ wine-1.2.3 ] ~ [ wine-1.3.17 ] ~ [ wine-1.3.16 ] ~ [ wine-1.3.15 ] ~ [ wine-1.3.14 ] ~ [ wine-1.3.13 ] ~ [ wine-1.3.12 ] ~ [ wine-1.3.11 ] ~ [ wine-1.3.10 ] ~ [ wine-1.3.9 ] ~ [ wine-1.2.2 ] ~ [ wine-1.3.8 ] ~ [ wine-1.3.7 ] ~ [ wine-1.3.6 ] ~ [ wine-1.3.5 ] ~ [ wine-1.2.1 ] ~ [ wine-1.3.4 ] ~ [ wine-1.3.3 ] ~ [ wine-1.3.2 ] ~ [ wine-1.3.1 ] ~ [ wine-1.3.0 ] ~ [ wine-1.2 ] ~ [ wine-1.2-rc7 ] ~ [ wine-1.2-rc6 ] ~ [ wine-1.2-rc5 ] ~ [ wine-1.2-rc4 ] ~ [ wine-1.2-rc3 ] ~ [ wine-1.2-rc2 ] ~ [ wine-1.2-rc1 ] ~ [ wine-1.1.44 ] ~ [ wine-1.1.43 ] ~ [ wine-1.1.42 ] ~ [ wine-1.1.41 ] ~ [ wine-1.1.40 ] ~ [ wine-1.1.39 ] ~ [ wine-1.1.38 ] ~ [ wine-1.1.37 ] ~ [ wine-1.1.36 ] ~ [ wine-1.1.35 ] ~ [ wine-1.1.34 ] ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * SHLWAPI initialisation
  3  *
  4  *  Copyright 1998 Marcus Meissner
  5  *  Copyright 1998 Juergen Schmied (jsch)
  6  *
  7  * This library is free software; you can redistribute it and/or
  8  * modify it under the terms of the GNU Lesser General Public
  9  * License as published by the Free Software Foundation; either
 10  * version 2.1 of the License, or (at your option) any later version.
 11  *
 12  * This library is distributed in the hope that it will be useful,
 13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15  * Lesser General Public License for more details.
 16  *
 17  * You should have received a copy of the GNU Lesser General Public
 18  * License along with this library; if not, write to the Free Software
 19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 20  */
 21 
 22 #include <stdarg.h>
 23 
 24 #include "windef.h"
 25 #include "winbase.h"
 26 #define NO_SHLWAPI_REG
 27 #define NO_SHLWAPI_STREAM
 28 #include "shlwapi.h"
 29 #include "wine/debug.h"
 30 
 31 WINE_DEFAULT_DEBUG_CHANNEL(shell);
 32 
 33 HINSTANCE shlwapi_hInstance = 0;
 34 DWORD SHLWAPI_ThreadRef_index = TLS_OUT_OF_INDEXES;
 35 
 36 /*************************************************************************
 37  * SHLWAPI {SHLWAPI}
 38  *
 39  * The Shell Light-Weight Api dll provides a large number of utility functions
 40  * which are commonly required by Win32 programs. Originally distributed with
 41  * Internet Explorer as a free download, it became a core part of Windows when
 42  * Internet Explorer was 'integrated' into the O/S with the release of Win98.
 43  *
 44  * All functions exported by ordinal are undocumented by MS. The vast majority
 45  * of these are wrappers for Unicode functions that may not exist on early 16
 46  * bit platforms. The remainder perform various small tasks and presumably were
 47  * added to facilitate code reuse amongst the MS developers.
 48  */
 49 
 50 /*************************************************************************
 51  * SHLWAPI DllMain
 52  *
 53  * NOTES
 54  *  calling oleinitialize here breaks sone apps.
 55  */
 56 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
 57 {
 58         TRACE("%p 0x%x %p\n", hinstDLL, fdwReason, fImpLoad);
 59         switch (fdwReason)
 60         {
 61           case DLL_PROCESS_ATTACH:
 62             DisableThreadLibraryCalls(hinstDLL);
 63             shlwapi_hInstance = hinstDLL;
 64             SHLWAPI_ThreadRef_index = TlsAlloc();
 65             break;
 66           case DLL_PROCESS_DETACH:
 67             if (SHLWAPI_ThreadRef_index != TLS_OUT_OF_INDEXES) TlsFree(SHLWAPI_ThreadRef_index);
 68             break;
 69         }
 70         return TRUE;
 71 }
 72 
 73 /***********************************************************************
 74  * DllGetVersion [SHLWAPI.@]
 75  *
 76  * Retrieve "shlwapi.dll" version information.
 77  *
 78  * PARAMS
 79  *     pdvi [O] pointer to version information structure.
 80  *
 81  * RETURNS
 82  *     Success: S_OK. pdvi is updated with the version information
 83  *     Failure: E_INVALIDARG, if pdvi->cbSize is not set correctly.
 84  *
 85  * NOTES
 86  *     You may pass either a DLLVERSIONINFO of DLLVERSIONINFO2 structure
 87  *     as pdvi, provided that the size is set correctly.
 88  *     Returns version as shlwapi.dll from IE5.01.
 89  */
 90 HRESULT WINAPI DllGetVersion (DLLVERSIONINFO *pdvi)
 91 {
 92   DLLVERSIONINFO2 *pdvi2 = (DLLVERSIONINFO2*)pdvi;
 93 
 94   TRACE("(%p)\n",pdvi);
 95 
 96   switch (pdvi2->info1.cbSize)
 97   {
 98   case sizeof(DLLVERSIONINFO2):
 99     pdvi2->dwFlags = 0;
100     pdvi2->ullVersion = MAKEDLLVERULL(6, 0, 2800, 1612);
101     /* Fall through */
102   case sizeof(DLLVERSIONINFO):
103     pdvi2->info1.dwMajorVersion = 6;
104     pdvi2->info1.dwMinorVersion = 0;
105     pdvi2->info1.dwBuildNumber = 2800;
106     pdvi2->info1.dwPlatformID = DLLVER_PLATFORM_WINDOWS;
107     return S_OK;
108  }
109  if (pdvi)
110    WARN("pdvi->cbSize = %d, unhandled\n", pdvi2->info1.cbSize);
111  return E_INVALIDARG;
112 }
113 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.