Changeset 1556 for trunk/src/comdlg32/cdlg32.cpp
- Timestamp:
- Nov 2, 1999, 9:37:43 PM (26 years ago)
- File:
-
- 1 edited
-
trunk/src/comdlg32/cdlg32.cpp (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/comdlg32/cdlg32.cpp
r1548 r1556 1 /* $Id: cdlg32.cpp,v 1. 1 1999-11-02 19:09:41sandervl Exp $ */1 /* $Id: cdlg32.cpp,v 1.2 1999-11-02 20:37:42 sandervl Exp $ */ 2 2 /* 3 * Common Dialog Boxes interface (32 bit) (990815)4 * Find/Replace 3 * Common Dialog Boxes interface (32 bit) 4 * Find/Replace 5 5 * 6 6 * Copyright 1999 Bertho A. Stultiens 7 7 */ 8 8 9 #ifdef __WIN32OS2__ 10 // ><DJR 17.05.99 Force to use C-interfaces for now to prevent CALLBACK definition compiler error 11 #define CINTERFACE 1 9 12 #include <os2win.h> 13 #else 14 #include "winbase.h" 15 #endif 10 16 #include "commdlg.h" 11 17 #include "cderr.h" … … 16 22 #include "cdlg.h" 17 23 24 18 25 HINSTANCE COMDLG32_hInstance = 0; 19 HINSTANCE16 COMDLG32_hInstance16 = 0;20 26 21 27 static DWORD COMDLG32_TlsIndex; … … 25 31 HINSTANCE SHELL32_hInstance = 0; 26 32 27 HDPA (* WINAPI COMDLG32_DPA_Create) (INT); 28 LPVOID (* WINAPI COMDLG32_DPA_GetPtr) (const HDPA, INT); 29 LPVOID (* WINAPI COMDLG32_DPA_DeleteAllPtrs) (const HDPA hdpa); 30 LPVOID (* WINAPI COMDLG32_DPA_DeletePtr) (const HDPA hdpa, INT i); 31 INT (* WINAPI COMDLG32_DPA_InsertPtr) (const HDPA, INT, LPVOID); 32 BOOL (* WINAPI COMDLG32_DPA_Destroy) (const HDPA); 33 34 HICON (* WINAPI COMDLG32_ImageList_GetIcon) (HIMAGELIST, INT, UINT); 35 HIMAGELIST (* WINAPI COMDLG32_ImageList_LoadImageA) (HINSTANCE, LPCSTR, INT, INT, COLORREF, UINT, UINT); 36 BOOL (* WINAPI COMDLG32_ImageList_Draw) (HIMAGELIST himl, int i, HDC hdcDest, int x, int y, UINT fStyle); 37 BOOL (* WINAPI COMDLG32_ImageList_Destroy) (HIMAGELIST himl); 33 /* DPA */ 34 HDPA (WINAPI* COMDLG32_DPA_Create) (INT); 35 LPVOID (WINAPI* COMDLG32_DPA_GetPtr) (const HDPA, INT); 36 LPVOID (WINAPI* COMDLG32_DPA_DeletePtr) (const HDPA hdpa, INT i); 37 LPVOID (WINAPI* COMDLG32_DPA_DeleteAllPtrs) (const HDPA hdpa); 38 INT (WINAPI* COMDLG32_DPA_InsertPtr) (const HDPA, INT, LPVOID); 39 BOOL (WINAPI* COMDLG32_DPA_Destroy) (const HDPA); 40 41 /* IMAGELIST */ 42 HICON (WINAPI* COMDLG32_ImageList_GetIcon) (HIMAGELIST, INT, UINT); 43 HIMAGELIST (WINAPI *COMDLG32_ImageList_LoadImageA) (HINSTANCE, LPCSTR, INT, INT, COLORREF, UINT, UINT); 44 BOOL (WINAPI* COMDLG32_ImageList_Draw) (HIMAGELIST himl, int i, HDC hdcDest, int x, int y, UINT fStyle); 45 BOOL (WINAPI* COMDLG32_ImageList_Destroy) (HIMAGELIST himl); 46 47 /* ITEMIDLIST */ 48 LPITEMIDLIST (WINAPI *COMDLG32_PIDL_ILClone) (LPCITEMIDLIST); 49 LPITEMIDLIST (WINAPI *COMDLG32_PIDL_ILCombine)(LPCITEMIDLIST,LPCITEMIDLIST); 50 LPITEMIDLIST (WINAPI *COMDLG32_PIDL_ILGetNext)(LPITEMIDLIST); 51 BOOL (WINAPI *COMDLG32_PIDL_ILRemoveLastID)(LPCITEMIDLIST); 52 BOOL (WINAPI *COMDLG32_PIDL_ILIsEqual)(LPCITEMIDLIST, LPCITEMIDLIST); 53 54 /* SHELL */ 55 BOOL (WINAPI *COMDLG32_SHGetPathFromIDListA) (LPCITEMIDLIST,LPSTR); 56 HRESULT (WINAPI *COMDLG32_SHGetSpecialFolderLocation)(HWND,INT,LPITEMIDLIST *); 57 DWORD (WINAPI *COMDLG32_SHGetDesktopFolder)(IShellFolder **); 58 DWORD (WINAPI *COMDLG32_SHGetFileInfoA)(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT); 59 DWORD (WINAPI *COMDLG32_SHFree)(LPVOID); 60 61 /* PATH */ 62 BOOL (WINAPI *COMDLG32_PathIsRootA)(LPCSTR x); 63 LPCSTR (WINAPI *COMDLG32_PathFindFilenameA)(LPCSTR path); 64 DWORD (WINAPI *COMDLG32_PathRemoveFileSpecA)(LPSTR fn); 65 BOOL (WINAPI *COMDLG32_PathMatchSpecW)(LPCWSTR x, LPCWSTR y); 66 LPSTR (WINAPI *COMDLG32_PathAddBackslashA)(LPSTR path); 38 67 39 68 /*********************************************************************** … … 48 77 BOOL WINAPI COMDLG32_DllEntryPoint(HINSTANCE hInstance, DWORD Reason, LPVOID Reserved) 49 78 { 50 //TRACE("(%08x, %08lx, %p)\n", hInstance, Reason, Reserved);79 TRACE("(%08x, %08lx, %p)\n", hInstance, Reason, Reserved); 51 80 52 81 switch(Reason) … … 56 85 if(COMDLG32_hInstance) 57 86 { 58 dprintf(("comdlg32.dll instantiated twice in one address space!\n"));87 ERR("comdlg32.dll instantiated twice in one address space!\n"); 59 88 /* 60 89 * We should return FALSE here, but that will break … … 70 99 if((COMDLG32_TlsIndex = TlsAlloc()) == 0xffffffff) 71 100 { 72 dprintf(("No space for COMDLG32 TLS\n"));101 ERR("No space for COMDLG32 TLS\n"); 73 102 return FALSE; 74 103 } … … 79 108 if (!COMCTL32_hInstance || !SHELL32_hInstance) 80 109 { 81 dprintf(("loading of comctl32 or shell32 failed\n"));110 ERR("loading of comctl32 or shell32 or shlwapi failed\n"); 82 111 return FALSE; 83 112 } 84 113 /* DPA */ 85 114 *(VOID **)&COMDLG32_DPA_Create=(void*)GetProcAddress(COMCTL32_hInstance, (LPCSTR)328L); 86 115 *(VOID **)&COMDLG32_DPA_Destroy=(void*)GetProcAddress(COMCTL32_hInstance, (LPCSTR)329L); … … 90 119 *(VOID **)&COMDLG32_DPA_DeleteAllPtrs=(void*)GetProcAddress(COMCTL32_hInstance, (LPCSTR)337L); 91 120 121 /* IMAGELIST */ 92 122 *(VOID **)&COMDLG32_ImageList_GetIcon=(void*)GetProcAddress(COMCTL32_hInstance,"ImageList_GetIcon"); 93 123 *(VOID **)&COMDLG32_ImageList_LoadImageA=(void*)GetProcAddress(COMCTL32_hInstance,"ImageList_LoadImageA"); 94 124 *(VOID **)&COMDLG32_ImageList_Draw=(void*)GetProcAddress(COMCTL32_hInstance,"ImageList_Draw"); 95 125 *(VOID **)&COMDLG32_ImageList_Destroy=(void*)GetProcAddress(COMCTL32_hInstance,"ImageList_Destroy"); 126 127 /* ITEMISLIST */ 128 129 *(VOID **)&COMDLG32_PIDL_ILIsEqual =(void*)GetProcAddress(SHELL32_hInstance, (LPCSTR)21L); 130 *(VOID **)&COMDLG32_PIDL_ILCombine =(void*)GetProcAddress(SHELL32_hInstance, (LPCSTR)25L); 131 *(VOID **)&COMDLG32_PIDL_ILGetNext =(void*)GetProcAddress(SHELL32_hInstance, (LPCSTR)153L); 132 *(VOID **)&COMDLG32_PIDL_ILClone =(void*)GetProcAddress(SHELL32_hInstance, (LPCSTR)18L); 133 *(VOID **)&COMDLG32_PIDL_ILRemoveLastID =(void*)GetProcAddress(SHELL32_hInstance, (LPCSTR)17L); 134 135 /* SHELL */ 136 137 *(VOID **)&COMDLG32_SHFree = (void*)GetProcAddress(SHELL32_hInstance,"SHFree"); 138 *(VOID **)&COMDLG32_SHGetSpecialFolderLocation = (void*)GetProcAddress(SHELL32_hInstance,"SHGetSpecialFolderLocation"); 139 *(VOID **)&COMDLG32_SHGetPathFromIDListA = (void*)GetProcAddress(SHELL32_hInstance,"SHGetPathFromIDListA"); 140 *(VOID **)&COMDLG32_SHGetDesktopFolder = (void*)GetProcAddress(SHELL32_hInstance,"SHGetDesktopFolder"); 141 *(VOID **)&COMDLG32_SHGetFileInfoA = (void*)GetProcAddress(SHELL32_hInstance,"SHGetFileInfoA"); 142 143 /* ### WARINIG ### 144 We can't do a GetProcAddress to link to StrRetToBuf[A|W] sine not all 145 versions of the shlwapi are exporting these functions. When we are 146 seperating the dlls then we have to dublicate code from shell32 into comdlg32. 147 Till then just call these functions. These functions don't have any side effects 148 so it won't break the use of any combination of native and buildin dll's (jsch) */ 149 150 /* PATH */ 151 *(VOID **)&COMDLG32_PathMatchSpecW = (void*)GetProcAddress(SHELL32_hInstance,"PathMatchSpecW"); 152 *(VOID **)&COMDLG32_PathIsRootA = (void*)GetProcAddress(SHELL32_hInstance,"PathIsRootA"); 153 *(VOID **)&COMDLG32_PathRemoveFileSpecA = (void*)GetProcAddress(SHELL32_hInstance,"PathRemoveFileSpecA"); 154 *(VOID **)&COMDLG32_PathFindFilenameA = (void*)GetProcAddress(SHELL32_hInstance,"PathFindFileNameA"); 155 *(VOID **)&COMDLG32_PathAddBackslashA = (void*)GetProcAddress(SHELL32_hInstance,"PathAddBackslashA"); 96 156 break; 97 157 … … 138 198 void COMDLG32_SetCommDlgExtendedError(DWORD err) 139 199 { 200 TRACE("(%08lx)\n", err); 140 201 TlsSetValue(COMDLG32_TlsIndex, (void *)err); 141 202 }
Note:
See TracChangeset
for help on using the changeset viewer.
