Changeset 6711 for trunk/src/oleaut32/oleaut.c
- Timestamp:
- Sep 15, 2001, 11:32:00 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/oleaut32/oleaut.c
r6689 r6711 1 1 /* 2 * 2 * OLEAUT32 3 3 * 4 4 */ … … 17 17 DEFAULT_DEBUG_CHANNEL(ole); 18 18 19 static WCHAR 20 static WCHAR 19 static WCHAR _delimiter[2] = {'!',0}; /* default delimiter apparently */ 20 static WCHAR *pdelimiter = &_delimiter[0]; 21 21 22 22 /*********************************************************************** 23 * 23 * RegisterActiveObject (OLEAUT32.33) 24 24 */ 25 25 HRESULT WINAPI RegisterActiveObject( 26 26 LPUNKNOWN punk,REFCLSID rcid,DWORD dwFlags,LPDWORD pdwRegister 27 27 ) { 28 WCHARguidbuf[80];29 HRESULTret;30 LPRUNNINGOBJECTTABLErunobtable;31 LPMONIKERmoniker;28 WCHAR guidbuf[80]; 29 HRESULT ret; 30 LPRUNNINGOBJECTTABLE runobtable; 31 LPMONIKER moniker; 32 32 33 33 StringFromGUID2(rcid,guidbuf,39); 34 34 #ifdef __WIN32OS2__ 35 35 dprintf(("RegisterActiveObject %x %ls (%x) %x %x", punk, guidbuf, rcid, dwFlags, pdwRegister)); 36 36 #endif 37 38 if (FAILED(ret)) 39 40 41 42 43 44 45 46 47 48 37 ret = CreateItemMoniker(pdelimiter,guidbuf,&moniker); 38 if (FAILED(ret)) 39 return ret; 40 ret = GetRunningObjectTable(0,&runobtable); 41 if (FAILED(ret)) { 42 IMoniker_Release(moniker); 43 return ret; 44 } 45 ret = IRunningObjectTable_Register(runobtable,dwFlags,punk,moniker,pdwRegister); 46 IRunningObjectTable_Release(runobtable); 47 IMoniker_Release(moniker); 48 return ret; 49 49 } 50 50 51 51 /*********************************************************************** 52 * 52 * RevokeActiveObject (OLEAUT32.34) 53 53 */ 54 54 HRESULT WINAPI RevokeActiveObject(DWORD xregister,LPVOID reserved) 55 55 { 56 LPRUNNINGOBJECTTABLErunobtable;57 HRESULTret;56 LPRUNNINGOBJECTTABLE runobtable; 57 HRESULT ret; 58 58 59 59 #ifdef __WIN32OS2__ … … 61 61 #endif 62 62 63 64 65 66 67 68 63 ret = GetRunningObjectTable(0,&runobtable); 64 if (FAILED(ret)) return ret; 65 ret = IRunningObjectTable_Revoke(runobtable,xregister); 66 if (SUCCEEDED(ret)) ret = S_OK; 67 IRunningObjectTable_Release(runobtable); 68 return ret; 69 69 } 70 70 71 71 /*********************************************************************** 72 * 72 * GetActiveObject (OLEAUT32.35) 73 73 */ 74 74 HRESULT WINAPI GetActiveObject(REFCLSID rcid,LPVOID preserved,LPUNKNOWN *ppunk) 75 75 { 76 WCHARguidbuf[80];77 HRESULTret;78 LPRUNNINGOBJECTTABLErunobtable;79 LPMONIKERmoniker;76 WCHAR guidbuf[80]; 77 HRESULT ret; 78 LPRUNNINGOBJECTTABLE runobtable; 79 LPMONIKER moniker; 80 80 81 81 StringFromGUID2(rcid,guidbuf,39); 82 82 #ifdef __WIN32OS2__ 83 83 dprintf(("GetActiveObject %ls (%x) %x %x", guidbuf, rcid, preserved, ppunk)); 84 84 #endif 85 86 if (FAILED(ret)) 87 88 89 90 91 92 93 94 95 96 85 ret = CreateItemMoniker(pdelimiter,guidbuf,&moniker); 86 if (FAILED(ret)) 87 return ret; 88 ret = GetRunningObjectTable(0,&runobtable); 89 if (FAILED(ret)) { 90 IMoniker_Release(moniker); 91 return ret; 92 } 93 ret = IRunningObjectTable_GetObject(runobtable,moniker,ppunk); 94 IRunningObjectTable_Release(runobtable); 95 IMoniker_Release(moniker); 96 return ret; 97 97 } 98 98 … … 101 101 * 102 102 * known OLEAUT32.DLL versions: 103 * OLE 2.1 NT 1993-9510 3023104 * OLE 2.1 105 * OLE 2.20 W95/NT 1993-9620 4112106 * OLE 2.20 W95/NT 1993-9620 4118107 * OLE 2.20 W95/NT 1993-9620 4122108 * OLE 2.30 W95/NT 1993-9830 4265109 * OLE 2.40 NT?? 1993-9840 4267110 * OLE 2.40 W98 SE orig. file 1993-9840 4275103 * OLE 2.1 NT 1993-95 10 3023 104 * OLE 2.1 10 3027 105 * OLE 2.20 W95/NT 1993-96 20 4112 106 * OLE 2.20 W95/NT 1993-96 20 4118 107 * OLE 2.20 W95/NT 1993-96 20 4122 108 * OLE 2.30 W95/NT 1993-98 30 4265 109 * OLE 2.40 NT?? 1993-98 40 4267 110 * OLE 2.40 W98 SE orig. file 1993-98 40 4275 111 111 */ 112 112 UINT WINAPI OaBuildVersion() … … 120 120 { 121 121 case 0x80000a03: /* WIN31 */ 122 122 return MAKELONG(4049, 20); /* from Win32s 1.1e */ 123 123 case 0x80000004: /* WIN95 */ 124 124 return MAKELONG(4265, 30); 125 125 case 0x80000a04: /* WIN98 */ 126 126 return MAKELONG(4275, 40); /* value of W98 SE; orig. W98 AFAIK has 4265, 30 just as W95 */ 127 127 case 0x00003303: /* NT351 */ 128 128 return MAKELONG(4265, 30); /* value borrowed from Win95 */ 129 129 case 0x00000004: /* NT40 */ 130 130 #ifdef __WIN32OS2__ 131 131 return 0x2810b5; //returned by NT4, SP6 132 132 #else 133 133 return MAKELONG(4122, 20); /* ouch ! Quite old, I guess */ 134 134 #endif 135 135 default: 136 137 136 ERR("Version value not known yet. Please investigate it !\n"); 137 return 0x0; 138 138 } 139 139 } … … 141 141 #ifndef __WIN32OS2__ 142 142 /*********************************************************************** 143 * 143 * DllRegisterServer 144 144 */ 145 HRESULT WINAPI OLEAUT32_DllRegisterServer() { 145 HRESULT WINAPI OLEAUT32_DllRegisterServer() { 146 146 FIXME("stub!\n"); 147 147 return S_OK; … … 149 149 150 150 /*********************************************************************** 151 * 151 * DllUnregisterServer 152 152 */ 153 153 HRESULT WINAPI OLEAUT32_DllUnregisterServer() {
Note:
See TracChangeset
for help on using the changeset viewer.