Changeset 4032 for trunk/src/shell32/shell32_main.cpp
- Timestamp:
- Aug 18, 2000, 4:01:27 AM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/shell32_main.cpp
r3551 r4032 1 /* $Id: shell32_main.cpp,v 1.1 1 2000-05-18 14:16:03 sandervlExp $ */1 /* $Id: shell32_main.cpp,v 1.12 2000-08-18 02:01:19 phaller Exp $ */ 2 2 3 3 /* … … 49 49 #include "wine/undocshell.h" 50 50 #include "shpolicy.h" 51 #include "shlwapi.h" 51 52 52 53 #include <heapstring.h> … … 148 149 DWORD ret = TRUE, dwAttributes = 0; 149 150 IShellFolder * psfParent = NULL; 150 IExtractIcon * pei = NULL;151 IExtractIconA * pei = NULL; 151 152 LPITEMIDLIST pidlLast = NULL, pidl = NULL; 152 153 HRESULT hr = S_OK; … … 160 161 if ((flags & SHGFI_USEFILEATTRIBUTES) && (flags & (SHGFI_ATTRIBUTES|SHGFI_EXETYPE|SHGFI_PIDL))) 161 162 return FALSE; 162 163 164 /* windows initializes this values regardless of the flags */ 165 psfi->szDisplayName[0] = '\0'; 166 psfi->szTypeName[0] = '\0'; 167 psfi->iIcon = 0; 168 163 169 /* translate the path into a pidl only when SHGFI_USEFILEATTRIBUTES in not specified 164 170 the pidl functions fail on not existing file names */ … … 236 242 if (SUCCEEDED(hr)) 237 243 { 238 hr = IExtractIconA_GetIconLocation(pei, 0, szLoaction, MAX_PATH, &iIndex, &uFlags);244 hr = IExtractIconA_GetIconLocation(pei, (flags & SHGFI_OPENICON) ? GIL_OPENICON : 0, szLoaction, MAX_PATH, &iIndex, &uFlags); 239 245 /* fixme what to do with the index? */ 240 246 … … 278 284 else 279 285 { 280 if (!(PidlToSicIndex(psfParent, pidlLast, (flags && SHGFI_LARGEICON), (PUINT)&(psfi->iIcon)))) 286 if (!(PidlToSicIndex(psfParent, pidlLast, (flags && SHGFI_LARGEICON), 287 (flags & SHGFI_OPENICON) ? GIL_OPENICON : 0, (PUINT)&(psfi->iIcon)))) 281 288 { 282 289 ret = FALSE; … … 285 292 if (ret) 286 293 { 287 ret = (DWORD) ((flags & &SHGFI_LARGEICON) ? ShellBigIconList : ShellSmallIconList);294 ret = (DWORD) ((flags & SHGFI_LARGEICON) ? ShellBigIconList : ShellSmallIconList); 288 295 } 289 296 } … … 512 519 */ 513 520 514 ODINFUNCTION1(DWORD, SHLoadInProc, DWORD, dwArg1) 515 { 516 CLSID *id; 517 521 ODINFUNCTION1(DWORD, SHLoadInProc, REFCLSID, rclsid) 522 { 518 523 dprintf(("SHELL32: SHLoadInProc\n")); 519 520 CLSIDFromString((LPCOLESTR) dwArg1, id); 521 if (S_OK==SHCoCreateInstance( (LPSTR) dwArg1, id, NULL, &IID_IUnknown, NULL) ) 522 return NOERROR; 524 525 IUnknown *pUnk = NULL; 526 CoCreateInstance(rclsid, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (LPVOID*)pUnk); 527 if (pUnk) 528 { 529 IUnknown_Release(pUnk); 530 return NOERROR; 531 } 523 532 return DISP_E_MEMBERNOTFOUND; 524 533 } … … 949 958 HICON (WINAPI *pCreateIconFromResourceEx)(LPBYTE bits,UINT cbSize, BOOL bIcon, DWORD dwVersion, INT width, INT height,UINT cFlag); 950 959 951 /* ole2 */952 HRESULT (WINAPI* pOleInitialize)(LPVOID reserved);953 void (WINAPI* pOleUninitialize)(void);954 HRESULT (WINAPI* pDoDragDrop)(IDataObject* pDataObject, IDropSource * pDropSource, DWORD dwOKEffect, DWORD *pdwEffect);955 HRESULT (WINAPI* pRegisterDragDrop)(HWND hwnd, IDropTarget* pDropTarget);956 HRESULT (WINAPI* pRevokeDragDrop)(HWND hwnd);957 960 958 961 static HINSTANCE hComctl32; … … 960 963 static INT shell32_RefCount = 0; 961 964 962 INTshell32_ObjCount = 0;965 LONG shell32_ObjCount = 0; 963 966 HINSTANCE shell32_hInstance = 0; 967 HMODULE huser32 = 0; 964 968 HIMAGELIST ShellSmallIconList = 0; 965 969 HIMAGELIST ShellBigIconList = 0;
Note:
See TracChangeset
for help on using the changeset viewer.