Changeset 8620 for trunk/src/ole32/errorinfo.c
- Timestamp:
- Jun 9, 2002, 6:37:22 PM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/ole32/errorinfo.c
r8441 r8620 20 20 * NOTES: 21 21 * 22 * The errorinfo is a per-thread object. The reference is stored in the 22 * The errorinfo is a per-thread object. The reference is stored in the 23 23 * TEB at offset 0xf80 24 24 */ … … 48 48 WCHAR* stringBuffer; 49 49 DWORD len; 50 50 51 51 if (in == NULL) 52 52 return NULL; … … 107 107 { 108 108 DWORD* bufferPointer; 109 109 110 110 /* NULL is a valid parameter */ 111 111 if(!in) return; … … 133 133 ICOM_VTABLE(ISupportErrorInfo) *lpvtsei; 134 134 DWORD ref; 135 135 136 136 GUID m_Guid; 137 137 BSTR bstrSource; … … 148 148 converts a objectpointer to This 149 149 */ 150 #define _IErrorInfo_Offset ((int)(&(((ErrorInfoImpl*)0)->lpvtei))) 151 #define _ICOM_THIS_From_IErrorInfo(class, name) class* This = (class*)(((char*)name)-_IErrorInfo_Offset); 152 153 #define _ICreateErrorInfo_Offset ((int)(&(((ErrorInfoImpl*)0)->lpvtcei))) 154 #define _ICOM_THIS_From_ICreateErrorInfo(class, name) class* This = (class*)(((char*)name)-_ICreateErrorInfo_Offset); 155 156 #define _ISupportErrorInfo_Offset ((int)(&(((ErrorInfoImpl*)0)->lpvtsei))) 157 #define _ICOM_THIS_From_ISupportErrorInfo(class, name) class* This = (class*)(((char*)name)-_ISupportErrorInfo_Offset); 150 #define _IErrorInfo_Offset ((int)(&(((ErrorInfoImpl*)0)->lpvtei))) 151 #define _ICOM_THIS_From_IErrorInfo(class, name) class* This = (class*)(((char*)name)-_IErrorInfo_Offset); 152 153 #define _ICreateErrorInfo_Offset ((int)(&(((ErrorInfoImpl*)0)->lpvtcei))) 154 #define _ICOM_THIS_From_ICreateErrorInfo(class, name) class* This = (class*)(((char*)name)-_ICreateErrorInfo_Offset); 155 156 #define _ISupportErrorInfo_Offset ((int)(&(((ErrorInfoImpl*)0)->lpvtsei))) 157 #define _ICOM_THIS_From_ISupportErrorInfo(class, name) class* This = (class*)(((char*)name)-_ISupportErrorInfo_Offset); 158 158 159 159 /* … … 194 194 if(IsEqualIID(riid, &IID_IErrorInfo)) 195 195 { 196 *ppvoid = _IErrorInfo_(This); 196 *ppvoid = _IErrorInfo_(This); 197 197 } 198 198 else if(IsEqualIID(riid, &IID_ICreateErrorInfo)) … … 240 240 static HRESULT WINAPI IErrorInfoImpl_GetGUID( 241 241 IErrorInfo* iface, 242 GUID * pGUID) 242 GUID * pGUID) 243 243 { 244 244 _ICOM_THIS_From_IErrorInfo(ErrorInfoImpl, iface); … … 271 271 return E_INVALIDARG; 272 272 *pBstrDescription = ERRORINFO_SysAllocString(This->bstrDescription); 273 273 274 274 return S_OK; 275 275 } … … 285 285 return E_INVALIDARG; 286 286 *pBstrHelpFile = ERRORINFO_SysAllocString(This->bstrHelpFile); 287 287 288 288 return S_OK; 289 289 } … … 298 298 return E_INVALIDARG; 299 299 *pdwHelpContext = This->m_dwHelpContext; 300 300 301 301 return S_OK; 302 302 } … … 308 308 IErrorInfoImpl_AddRef, 309 309 IErrorInfoImpl_Release, 310 310 311 311 IErrorInfoImpl_GetGUID, 312 312 IErrorInfoImpl_GetSource, … … 363 363 ERRORINFO_SysFreeString(This->bstrSource); 364 364 This->bstrSource = ERRORINFO_SysAllocString(szSource); 365 365 366 366 return S_OK; 367 367 } … … 376 376 ERRORINFO_SysFreeString(This->bstrDescription); 377 377 This->bstrDescription = ERRORINFO_SysAllocString(szDescription); 378 378 379 379 return S_OK; 380 380 } … … 400 400 TRACE("(%p)\n",This); 401 401 This->m_dwHelpContext = dwHelpContext; 402 402 403 403 return S_OK; 404 404 } … … 425 425 _ICOM_THIS_From_ISupportErrorInfo(ErrorInfoImpl, iface); 426 426 TRACE("(%p)\n", This); 427 427 428 428 return IErrorInfo_QueryInterface(_IErrorInfo_(This), riid, ppvoid); 429 429 } … … 475 475 if(! pperrinfo ) return E_INVALIDARG; 476 476 if(!(pei=IErrorInfoImpl_Constructor()))return E_OUTOFMEMORY; 477 477 478 478 res = IErrorInfo_QueryInterface(pei, &IID_ICreateErrorInfo, (LPVOID*)pperrinfo); 479 479 IErrorInfo_Release(pei);
Note:
See TracChangeset
for help on using the changeset viewer.