Changeset 3243 for trunk/src/shell32/shellole.cpp
- Timestamp:
- Mar 26, 2000, 6:34:57 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shell32/shellole.cpp
r1353 r3243 1 /* $Id: shellole.cpp,v 1. 3 1999-10-19 10:23:27 phallerExp $ */1 /* $Id: shellole.cpp,v 1.4 2000-03-26 16:34:51 cbratschi Exp $ */ 2 2 3 3 /* … … 12 12 * Copyright 1998 Juergen Schmied <juergen.schmied@metronet.de> 13 13 * 14 * Corel WINE 20000324 level 14 15 */ 15 16 … … 56 57 57 58 DWORD WINAPI SHCLSIDFromStringA (LPSTR clsid, CLSID *id); 59 extern IShellFolder * IShellFolder_Constructor( 60 IShellFolder * psf, 61 LPITEMIDLIST pidl); 62 extern HRESULT IFSFolder_Constructor( 63 IUnknown * pUnkOuter, 64 REFIID riid, 65 LPVOID * ppv); 58 66 59 67 /************************************************************************* … … 70 78 LPVOID*, ppv) 71 79 { 72 char xclsid[48], xiid[48] , xuout[48];80 char xclsid[48], xiid[48]; 73 81 DWORD hres; 74 82 IID iid; … … 86 94 WINE_StringFromCLSID(myclsid,xclsid); 87 95 WINE_StringFromCLSID(refiid,xiid); 88 if (unknownouter) 89 WINE_StringFromCLSID((const CLSID*)unknownouter,xuout); 90 91 dprintf(("SHELL32:SHCoCreateInstance (%p,CLSID:%s UOUT:%s IID:%s,%p)\n", 96 97 dprintf(("SHELL32:SHCoCreateInstance (%p,CLSID:%s unk:%s IID:%s,%p)\n", 92 98 aclsid, 93 99 xclsid, 94 unknownouter?xuout:"nil",xiid,ppv)); 95 96 hres = CoCreateInstance(myclsid, NULL, CLSCTX_INPROC_SERVER, refiid, ppv); 100 unknownouter,xiid,ppv)); 101 102 if IsEqualCLSID(myclsid, &CLSID_ShellFSFolder) 103 { 104 hres = IFSFolder_Constructor(unknownouter, refiid, ppv); 105 } 106 else 107 { 108 hres = CoCreateInstance(myclsid, unknownouter, CLSCTX_INPROC_SERVER, refiid, ppv); 109 } 97 110 98 111 if(hres!=S_OK) 99 112 { 100 dprintf(("SHELL32: SHCoCreateInstance failed (0x%08lx) to create CLSID:%s IID:%s\n",113 dprintf(("SHELL32: SHCoCreateInstance failed (0x%08lx) to create CLSID:%s IID:%s\n", 101 114 hres, 102 115 xclsid, 103 116 xiid)); 104 dprintf(("SHELL32:SHCoCreateInstance you might need to import the winedefault.reg\n")); 117 dprintf(("SHELL32: SHCoCreateInstance: class not found in registry\n")); 118 dprintf(("SHELL32: SHCoCreateInstance you might need to import the winedefault.reg\n")); 105 119 } 106 120 … … 128 142 *ppv = NULL; 129 143 130 if(IsEqualCLSID(rclsid, &CLSID_PaperBin))131 {132 dprintf(("SHELL32:SHELL32_DllGetClassObject paper bin not implemented\n"));133 return CLASS_E_CLASSNOTAVAILABLE;134 }135 144 if(IsEqualCLSID(rclsid, &CLSID_ShellDesktop)|| 136 145 IsEqualCLSID(rclsid, &CLSID_ShellLink))
Note:
See TracChangeset
for help on using the changeset viewer.