#if 0

  Microsoft Windows
  Copyright (C) Microsoft Corporation, 1992 - 1992.
  All rights reserved.

  This .def file is preprocessed by the compiler to create the version for
  the current build in the appropriate subdir.  Basically, whatever you
  would have used in your code to control what is compiled when can be
  used in this file for the same purpose.  The following defines are in
  use at the time this file was written:

     FLAT       - Used to indicate a NT/DOS7 build
     i386       -   Intel i386/i486 build
     MIPS       -   MIPS R3000/R4000 build
     ALPHA      -   DEC Alpha build
     PPC        -   PowerPC build
     DBG        - Used to control Debug/Retail.  Set to 1 if Debug,
                   0 if Retail.
     WIN31      - Win16 build
     __OS2__    - OS/2 build (used by CT mostly)

  If none of these are used, it is assumed the entire file can be used
  for all builds.

#endif

LIBRARY         ole32

#if 0
DESCRIPTION  'Microsoft (R) Component OLE 2.0 Base DLL 1.00'
#endif

#if defined(_CHICAGO_)
;
;  No security under Win95, take advantage of shared data segments.
;
SECTIONS
  .sdata       READ WRITE SHARED
#endif

#ifdef EXPORT_PRIVATE_API
#define PRIVATE_API
#else
#define PRIVATE_API PRIVATE
#endif

EXPORTS

        OleBuildVersion=CoBuildVersion
        OleInitialize
        OleInitializeWOW
        OleUninitialize
        DllGetClassObject PRIVATE
        DllGetClassObjectWOW=DllGetClassObject
        OleQueryLinkFromData
        OleQueryCreateFromData
        OleCreateFromData
        OleCreateFromDataEx
        OleCreateLinkFromData
        OleCreateLinkFromDataEx
        OleCreate
        OleCreateEx
        OleCreateLink
        OleCreateLinkEx
        OleLoad
        OleSave
        OleRun
        OleIsRunning
        OleLockRunning
        ReadClassStg
        WriteClassStg
        ReadClassStm
        WriteClassStm
        ReleaseStgMedium
        ReadStringStream
        WriteStringStream
        RegisterDragDrop
        RevokeDragDrop
        DoDragDrop
        CreateOleAdviseHolder
        CreateDataAdviseHolder
        OleCreateMenuDescriptor
        OleSetMenuDescriptor
        OleDestroyMenuDescriptor
        OpenOrCreateStream
        IsAccelerator
        OleSetClipboard
        OleGetClipboard
        OleDuplicateData
        OleGetIconOfFile
        OleGetIconOfClass
        CreateILockBytesOnHGlobal
        GetHGlobalFromILockBytes
        OleMetafilePictFromIconAndLabel
        OleDraw
        OleCreateDefaultHandler
        OleCreateEmbeddingHelper
        SetDocumentBitStg
        GetDocumentBitStg
        WriteOleStg
        ReadOleStg
        OleCreateFromFile
        OleCreateFromFileEx
        OleCreateLinkToFile
        OleCreateLinkToFileEx
        CreateDataCache
        OleConvertIStorageToOLESTREAM
        OleConvertOLESTREAMToIStorage
        OleConvertIStorageToOLESTREAMEx
        OleConvertOLESTREAMToIStorageEx
        ReadFmtUserTypeStg
        WriteFmtUserTypeStg
        OleFlushClipboard
        OleIsCurrentClipboard
        OleTranslateAccelerator
        OleDoAutoConvert
        OleGetAutoConvert
        OleSetAutoConvert
        GetConvertStg
        SetConvertStg
        CreateStreamOnHGlobal
        GetHGlobalFromStream
        OleSetContainedObject
        OleNoteObjectVisible
        OleCreateStaticFromData

        OleRegGetUserType
        OleRegGetMiscStatus
        OleRegEnumFormatEtc
        OleRegEnumVerbs

        CoTaskMemAlloc
        CoTaskMemRealloc
        CoTaskMemFree

        PropVariantClear
        PropVariantCopy
        FreePropVariantArray

        CoBuildVersion
        CoInitialize
        CoInitializeWOW
        CoUnloadingWOW
        CoUninitialize
        CoGetMalloc
        CoRegisterMallocSpy
        CoRevokeMallocSpy
        CoCreateGuid
        CoMarshalInterface
        CoUnmarshalInterface
        CoReleaseMarshalData
        CoGetStandardMarshal
        CoGetMarshalSizeMax
        CoMarshalHresult
        CoUnmarshalHresult
        CoRegisterClassObject
        CoRevokeClassObject
        CoGetClassObject
        CoCreateInstance
        CoDisconnectObject
        CoLockObjectExternal
        CoLoadLibrary
        CoFreeLibrary
        CoFreeAllLibraries
        CoFreeUnusedLibraries
        CoFreeUnusedLibrariesEx
        CoRegisterMessageFilter
        CoFileTimeToDosDateTime
        CoDosDateTimeToFileTime
        GetRunningObjectTable
        CoIsOle1Class
        CoTreatAsClass
        CoGetTreatAsClass
        CoGetCurrentProcess
        IsEqualGUID
        StringFromCLSID
        CLSIDFromString
        ProgIDFromCLSID
        CLSIDFromProgID
        StringFromGUID2
        IsValidPtrIn
        IsValidPtrOut
        IsValidInterface
        IsValidIid
        CoGetState
        CoSetState
        CoGetCallerTID
        CoGetCurrentLogicalThreadId
        CoGetClassVersion
#ifdef DCOM
        CoRegisterChannelHook
        CoRegisterSurrogate
        CoRegisterSurrogateEx
        CoGetStdMarshalEx
        CoGetCancelObject
        CoSetCancelObject
        CoCancelCall
        CoTestCancel
        CoWaitForMultipleHandles
        CoEnableCallCancellation
        CoDisableCallCancellation
#endif
#ifdef DCOM_SECURITY
        CoInitializeSecurity
        CoGetCallContext
        CoQueryProxyBlanket
        CoSetProxyBlanket
        CoCopyProxy
        CoQueryClientBlanket
        CoImpersonateClient
        CoRevertToSelf
        CoQueryAuthenticationServices
        CoSwitchCallContext
#endif
        CoGetObjectContext
        CoGetDefaultContext
        CoCreateObjectInContext
        CoDeactivateObject
        CoReactivateObject

        CoAllowSetForegroundWindow

        CoIsHandlerConnected
        CoFileTimeNow
        CoGetObject
        BindMoniker
        MkParseDisplayName
        CreateBindCtx
        CreateItemMoniker
        CreateFileMoniker
#ifdef _CAIRO_
        CreateFileMonikerEx
#endif
        CreateGenericComposite
        CreateAntiMoniker
        CreatePointerMoniker
        CreateClassMoniker
        CreateObjrefMoniker
        MonikerRelativePathTo
        GetClassFile
        OleSaveToStream
        OleLoadFromStream
        MonikerCommonPrefixWith
        CoQueryReleaseObject
        StgCreateDocfile
        StgCreateDocfileOnILockBytes
        StgOpenStorage
        StgOpenStorageOnILockBytes
        StgIsStorageFile
        StgIsStorageILockBytes
        StgSetTimes
        StgOpenAsyncDocfileOnIFillLockBytes
        StgGetIFillLockBytesOnILockBytes
        StgGetIFillLockBytesOnFile
        StgCreatePropSetStg
        StgCreatePropStg
        StgOpenPropStg
#ifndef _CHICAGO_
        StgConvertVariantToProperty
        StgConvertPropertyToVariant
        StgPropertyLengthAsVariant
        StgOpenStorageOnHandle           PRIVATE
        PropVariantChangeType            PRIVATE
#endif
        FmtIdToPropStgName
        PropStgNameToFmtId
        PropSysAllocString
        PropSysFreeString
        CoInitializeEx
#ifdef _CAIRO_
        CoGetPersistentInstance
        CoGetPersistentInstanceEx
        StgCreateStorage
#endif // _CAIRO_
#ifndef _CHICAGO_
        StgCreateStorageEx
        StgOpenStorageEx
#endif
#ifdef _CAIRO_
        StgIsStorage
        OleInitializeEx
        DfIsDocfile
        OleGetTransactionDispenser
#endif // _CAIRO_
#ifdef DCOM
        CoGetInstanceFromFile
        CoGetInstanceFromIStorage
        CoCreateInstanceEx
        UpdateDCOMSettings
        CoRegisterPSClsid
        CoAddRefServerProcess
        CoReleaseServerProcess
        CoSuspendClassObjects
        CoResumeClassObjects
#endif
        DllDebugObjectRPCHook
        StringFromIID
        IIDFromString
        CoGetPSClsid
#ifdef _CAIRO_
        SerializeToStream
        DeserializeFromStream
        SerializeSizeMax
#endif
#if DBG == 1
        DumpADVFFlags		PRIVATE_API
        DumpATOM		PRIVATE_API
        DumpCLSID		PRIVATE_API
        DumpCLIPFORMAT		PRIVATE_API
        DumpCMutexSem		PRIVATE_API
        DumpDVASPECTFlags	PRIVATE_API
        DumpFILETIME		PRIVATE_API
        DumpHRESULT		PRIVATE_API
        DumpWIN32Error		PRIVATE_API
        DumpCClipDataObject	PRIVATE_API
        DumpCDAHolder		PRIVATE_API
        DumpCDataAdviseCache	PRIVATE_API
        DumpCDefClassFactory	PRIVATE_API
        DumpCDefLink		PRIVATE_API
        DumpCDefObject		PRIVATE_API
        DumpCEMfObject		PRIVATE_API
        DumpCEnumFmt		PRIVATE_API
        DumpCEnumFmt10		PRIVATE_API
        DumpCEnumSTATDATA	PRIVATE_API
        DumpCEnumVerb		PRIVATE_API
        DumpCGenObject		PRIVATE_API
        DumpCMapDwordDword	PRIVATE_API
        DumpCMemBytes		PRIVATE_API
        DumpCMemStm		PRIVATE_API
        DumpCMfObject		PRIVATE_API
        DumpCOAHolder		PRIVATE_API
        DumpCThreadCheck	PRIVATE_API
        DumpFORMATETC		PRIVATE_API
        DumpMEMSTM		PRIVATE_API
        DumpSTATDATA		PRIVATE_API
        DumpSTGMEDIUM		PRIVATE_API
#ifndef _CHICAGO_
        DfDebug			PRIVATE_API
        DfSetResLimit		PRIVATE_API
        DfGetResLimit		PRIVATE_API
        DfSetFailureType	PRIVATE_API
        DfGetMemAlloced		PRIVATE_API
        DfPrintAllocs		PRIVATE_API
#endif
        DbgLogOpen		PRIVATE_API
        DbgLogClose		PRIVATE_API
        DbgLogOutputDebugString	PRIVATE_API
        DbgLogWrite		PRIVATE_API
        DbgLogTimeStamp		PRIVATE_API
        DbgLogWriteBanner	PRIVATE_API
        DbgDumpObject		PRIVATE_API
        DbgIsObjectValid	PRIVATE_API
        DbgDumpExternalObject	PRIVATE_API
        DbgDumpClassName	PRIVATE_API
        MakeDebugStream		PRIVATE_API
        Dbg_FindRemoteHdlr	PRIVATE_API
        DbgDllSetSiftObject 	PRIVATE_API
#ifndef _CHICAGO_
        StgGetDebugFileLockBytes	PRIVATE_API
#endif
#endif // DBG == 1
#ifdef TRACELOG
#if defined(i386)
        ??0CTraceCall@@QAE@KPAD@Z	PRIVATE_API
        ??1CTraceCall@@QAE@XZ		PRIVATE_API
        StartTrace			PRIVATE_API
        StopTrace			PRIVATE_API
#else  // i386
#error  TraceLogs not defined for MIPS or Alpha or PPC- Rickhi
#endif // MIPS | ALPHA | PPC
#endif // TRACELOG
#if DBG==1 && defined(_NT1X_) && defined(GLOBALDBG)
        GlobalAlloc=UtGlobalAlloc       PRIVATE_API
        GlobalFree=UtGlobalFree         PRIVATE_API
        GlobalReAlloc=UtGlobalReAlloc   PRIVATE_API
        GlobalLock=UtGlobalLock         PRIVATE_API
        GlobalUnlock=UtGlobalUnlock     PRIVATE_API
#endif  //  DBG==1 && defined(_NT1X_) && defined(GLOBALDBG)

        ;; Utility functions exported for olethk32.dll
        UtGetDvtd16Info
        UtConvertDvtd16toDvtd32
        UtGetDvtd32Info
        UtConvertDvtd32toDvtd16

#if DBG==1
        ;; DBG Utility functions exported for olethk32.dll
	UtGlobalAlloc		PRIVATE_API
        UtGlobalFree		PRIVATE_API
        UtGlobalReAlloc		PRIVATE_API
        UtGlobalLock		PRIVATE_API
        UtGlobalUnlock		PRIVATE_API
#endif
        CoMarshalInterThreadInterfaceInStream
        CoGetInterfaceAndReleaseStream
        CoCreateFreeThreadedMarshaler

        ;; Entry points for HookOle
        EnableHookObject
        GetHookInterface
        HkOleRegisterObject

        ;
        ; Debug support routines previously in commnot.
        ;
#if DBG == 1
        Win4AssertEx		PRIVATE_API
        vdprintf		PRIVATE_API
        CallOutputFunctions	PRIVATE_API
        CoGetAssertConfig	PRIVATE_API
#endif

        ;
        ; Windows data types support via user marshal
        ;

        SNB_UserSize
        SNB_UserMarshal
        SNB_UserUnmarshal
        SNB_UserFree

        CLIPFORMAT_UserSize
        CLIPFORMAT_UserMarshal
        CLIPFORMAT_UserUnmarshal
        CLIPFORMAT_UserFree

        HWND_UserSize
        HWND_UserMarshal
        HWND_UserUnmarshal
        HWND_UserFree

        HMENU_UserSize
        HMENU_UserMarshal
        HMENU_UserUnmarshal
        HMENU_UserFree

        HACCEL_UserSize
        HACCEL_UserMarshal
        HACCEL_UserUnmarshal
        HACCEL_UserFree

        HBRUSH_UserSize
        HBRUSH_UserMarshal
        HBRUSH_UserUnmarshal
        HBRUSH_UserFree

        HBITMAP_UserSize
        HBITMAP_UserMarshal
        HBITMAP_UserUnmarshal
        HBITMAP_UserFree

        HICON_UserSize
        HICON_UserMarshal
        HICON_UserUnmarshal
        HICON_UserFree

        HDC_UserSize
        HDC_UserMarshal
        HDC_UserUnmarshal
        HDC_UserFree

        HPALETTE_UserSize
        HPALETTE_UserMarshal
        HPALETTE_UserUnmarshal
        HPALETTE_UserFree

        HGLOBAL_UserSize
        HGLOBAL_UserMarshal
        HGLOBAL_UserUnmarshal
        HGLOBAL_UserFree

        HMETAFILE_UserSize
        HMETAFILE_UserMarshal
        HMETAFILE_UserUnmarshal
        HMETAFILE_UserFree

        HENHMETAFILE_UserSize
        HENHMETAFILE_UserMarshal
        HENHMETAFILE_UserUnmarshal
        HENHMETAFILE_UserFree

        HMETAFILEPICT_UserSize
        HMETAFILEPICT_UserMarshal
        HMETAFILEPICT_UserUnmarshal
        HMETAFILEPICT_UserFree

        STGMEDIUM_UserSize
        STGMEDIUM_UserMarshal
        STGMEDIUM_UserUnmarshal
        STGMEDIUM_UserFree

        WdtpInterfacePointer_UserSize
        WdtpInterfacePointer_UserMarshal
        WdtpInterfacePointer_UserUnmarshal
        WdtpInterfacePointer_UserFree

#if defined(_WIN64)
        ;
        ; Windows data types support via user marshal for NDR64
        ;

        SNB_UserSize64
        SNB_UserMarshal64
        SNB_UserUnmarshal64
        SNB_UserFree64

        CLIPFORMAT_UserSize64
        CLIPFORMAT_UserMarshal64
        CLIPFORMAT_UserUnmarshal64
        CLIPFORMAT_UserFree64

        HWND_UserSize64
        HWND_UserMarshal64
        HWND_UserUnmarshal64
        HWND_UserFree64

        HMENU_UserSize64
        HMENU_UserMarshal64
        HMENU_UserUnmarshal64
        HMENU_UserFree64

        HACCEL_UserSize64
        HACCEL_UserMarshal64
        HACCEL_UserUnmarshal64
        HACCEL_UserFree64

        HBRUSH_UserSize64
        HBRUSH_UserMarshal64
        HBRUSH_UserUnmarshal64
        HBRUSH_UserFree64

        HBITMAP_UserSize64
        HBITMAP_UserMarshal64
        HBITMAP_UserUnmarshal64
        HBITMAP_UserFree64

        HICON_UserSize64
        HICON_UserMarshal64
        HICON_UserUnmarshal64
        HICON_UserFree64

        HDC_UserSize64
        HDC_UserMarshal64
        HDC_UserUnmarshal64
        HDC_UserFree64

        HPALETTE_UserSize64
        HPALETTE_UserMarshal64
        HPALETTE_UserUnmarshal64
        HPALETTE_UserFree64

        HGLOBAL_UserSize64
        HGLOBAL_UserMarshal64
        HGLOBAL_UserUnmarshal64
        HGLOBAL_UserFree64

        HMETAFILE_UserSize64
        HMETAFILE_UserMarshal64
        HMETAFILE_UserUnmarshal64
        HMETAFILE_UserFree64

        HENHMETAFILE_UserSize64
        HENHMETAFILE_UserMarshal64
        HENHMETAFILE_UserUnmarshal64
        HENHMETAFILE_UserFree64

        HMETAFILEPICT_UserSize64
        HMETAFILEPICT_UserMarshal64
        HMETAFILEPICT_UserUnmarshal64
        HMETAFILEPICT_UserFree64

        STGMEDIUM_UserSize64
        STGMEDIUM_UserMarshal64
        STGMEDIUM_UserUnmarshal64
        STGMEDIUM_UserFree64

	WdtpInterfacePointer_UserSize64
        WdtpInterfacePointer_UserMarshal64
        WdtpInterfacePointer_UserUnmarshal64
        WdtpInterfacePointer_UserFree64

#endif  // defined(_WIN64)

        
#ifdef WX86OLE
        CoGetIIDFromMarshaledInterface
        Wx86LoadNotification
#endif

        CreateErrorInfo=CoCreateErrorInfo PRIVATE
        GetErrorInfo=CoGetErrorInfo       PRIVATE
        SetErrorInfo=CoSetErrorInfo       PRIVATE
#if 0 // ifdef _CHICAGO_
        I_RemoteMain                      PRIVATE
#endif


        DllRegisterServer                 PRIVATE

#ifdef DIRECTORY_SERVICE
        CoInstall
        CLSIDFromProgIDEx
#endif

        CreateStdProgressIndicator
        CoGetApartmentID
        DcomChannelSetHResult
        CoInvalidateRemoteMachineBindings
        CoRetireServer
        CoGetProcessIdentifier
        CoGetContextToken

        CoRegisterInitializeSpy
        CoRevokeInitializeSpy

        ; I didn't want to export this, but I have to.
        CLSIDFromOle1Class                PRIVATE

    	; Services without components private interfaces
        CoPushServiceDomain				PRIVATE
        CoPopServiceDomain				PRIVATE

        CoGetComCatalog=GetCatalogHelper PRIVATE
;
; JohnDoty:  Incorporate TXFAUX.
; I'm not going to cut/n/paste stuff into here, 'cause
; This is already a pretty darn massive .DEF file.
;
#ifndef  __OLE32__
#define  __OLE32__
#endif
#include "..\com\txf\callframe\callframe.src"