Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+---------------------------------------------------------------------
//
// File: misc.cxx
//
// Contents: Useful OLE helper and debugging functions
//
//----------------------------------------------------------------------
#include "procs.hxx"
//+------------------------------------------------------------------------
//
// Function: GetLastWin32Error
//
// Synopsis: Returns the last Win32 error, converted to an HRESULT.
//
// Returns: HRESULT
//
//-------------------------------------------------------------------------
HRESULT GetLastWin32Error( ) { return HRESULT_FROM_WIN32(GetLastError()); }
#if DBG == 1
//+---------------------------------------------------------------
//
// Function: TraceIID
//
// Synopsis: Outputs the name of the interface to the debugging device
//
// Arguments: [riid] -- the interface
//
// Notes: This function disappears in retail builds.
//
//----------------------------------------------------------------
STDAPI_(void) PrintIID(DWORD dwFlags, REFIID riid) { LPWSTR lpstr = NULL;
#define CASE_IID(iid) \
if (IsEqualIID(IID_##iid, riid)) lpstr = (LPWSTR)L#iid;
CASE_IID(IUnknown) CASE_IID(IOleLink) CASE_IID(IOleCache) CASE_IID(IOleManager) CASE_IID(IOlePresObj) CASE_IID(IDebug) CASE_IID(IDebugStream) CASE_IID(IAdviseSink2) CASE_IID(IDataObject) CASE_IID(IViewObject) CASE_IID(IOleObject) CASE_IID(IOleInPlaceObject) CASE_IID(IParseDisplayName) CASE_IID(IOleContainer) CASE_IID(IOleItemContainer) CASE_IID(IOleClientSite) CASE_IID(IOleInPlaceSite) CASE_IID(IPersist) CASE_IID(IPersistStorage) CASE_IID(IPersistFile) CASE_IID(IPersistStream) CASE_IID(IOleClientSite) CASE_IID(IOleInPlaceSite) CASE_IID(IAdviseSink) CASE_IID(IDataAdviseHolder) CASE_IID(IOleAdviseHolder) CASE_IID(IClassFactory) CASE_IID(IOleWindow) CASE_IID(IOleInPlaceActiveObject) CASE_IID(IOleInPlaceUIWindow) CASE_IID(IOleInPlaceFrame) CASE_IID(IDropSource) CASE_IID(IDropTarget) CASE_IID(IBindCtx) CASE_IID(IEnumUnknown) CASE_IID(IEnumString) CASE_IID(IEnumFORMATETC) CASE_IID(IEnumSTATDATA) CASE_IID(IEnumOLEVERB) CASE_IID(IEnumMoniker) CASE_IID(IEnumGeneric) CASE_IID(IEnumHolder) CASE_IID(IEnumCallback) CASE_IID(ILockBytes) CASE_IID(IStorage) CASE_IID(IStream) CASE_IID(IDispatch) CASE_IID(IMarshal) //CASE_IID(IEnumVARIANT)
//CASE_IID(ITypeInfo)
//CASE_IID(ITypeLib)
//CASE_IID(ITypeComp)
//CASE_IID(ICreateTypeInfo)
//CASE_IID(ICreateTypeLib)
#undef CASE_IID
if (lpstr == NULL) { WCHAR chBuf[256]; StringFromGUID2(riid, chBuf, 256);
ADsDebugOut((dwFlags | DEB_NOCOMPNAME, "UNKNOWN ITF %ws", chBuf)); } else ADsDebugOut((dwFlags | DEB_NOCOMPNAME, "%ws", lpstr)); }
#endif // DBG == 1
|