#include "switches.hxx" // // Note: To currently debug shared libraries on PPC, the LIBRARY clause must be of the form xxx.dll.dll // The ouput from the linker must be xxx.dll, and the name in the 'cfrg' segment must be xxx.dll // #if OE_MACPPC LIBRARY MicrosoftOLE2AutomationLib #else // OE_MACPPC LIBRARY OLEAUT32 #endif // OE_MACPPC #if OE_WIN // DESCRIPTION 'OLE Automation Library' // CODE EXECUTE READ SHARED ;DATA READ WRITE #endif EXPORTS ; (Not used in Win32) ;WEP @0 RESIDENTNAME ; DLL Support API DllGetClassObject PRIVATE ; BSTR API (ANSI) ; SysAllocString @2 SysReAllocString @3 SysAllocStringLen @4 SysReAllocStringLen @5 SysFreeString @6 SysStringLen @7 #ifdef EXTERNAL_MEM SysSetAllocator @324 #endif ; VARIANT API ; VariantInit @8 VariantClear @9 VariantCopy @10 VariantCopyInd @11 VariantChangeType @12 ; VARIANT TIME API ; VariantTimeToDosDateTime @13 DosDateTimeToVariantTime @14 ; SAFEARRAY API ; SafeArrayCreate @15 SafeArrayDestroy @16 SafeArrayGetDim @17 SafeArrayGetElemsize @18 SafeArrayGetUBound @19 SafeArrayGetLBound @20 SafeArrayLock @21 SafeArrayUnlock @22 SafeArrayAccessData @23 SafeArrayUnaccessData @24 SafeArrayGetElement @25 SafeArrayPutElement @26 SafeArrayCopy @27 ; IDispatch helpers/implementation ; DispGetParam @28 DispGetIDsOfNames @29 DispInvoke @30 CreateDispTypeInfo @31 CreateStdDispatch @32 ; Active Object API ; #if OE_MAC // marked these as private, since we don't want them in the import lib anymore RegisterActiveObject @33 PRIVATE RevokeActiveObject @34 PRIVATE GetActiveObject @35 PRIVATE #else //OE_MAC RegisterActiveObject @33 RevokeActiveObject @34 GetActiveObject @35 #endif //OE_MAC ; additional SafeArray APIs ; SafeArrayAllocDescriptor @36 SafeArrayAllocData @37 SafeArrayDestroyDescriptor @38 SafeArrayDestroyData @39 SafeArrayRedim @40 #if !OE_MAC SafeArrayAllocDescriptorEx @41 SafeArrayCreateEx @42 SafeArrayCreateVectorEx @43 SafeArraySetRecordInfo @44 SafeArrayGetRecordInfo @45 SafeArraySetIID @57 SafeArrayGetIID @67 SafeArrayGetVartype @77 #endif // OE_MAC ; Numeric parsing routines ; VarParseNumFromStr @46 VarNumFromParseNum @47 ; low-level VARTYPE coersion API ; VarI2FromUI1 @48 VarI2FromI4 @49 VarI2FromR4 @50 VarI2FromR8 @51 VarI2FromCy @52 VarI2FromDate @53 VarI2FromStr @54 VarI2FromDisp @55 VarI2FromBool @56 VarI2FromI1 @205 VarI2FromUI2 @206 VarI2FromUI4 @207 VarI2FromDec @208 VarI4FromUI1 @58 VarI4FromI2 @59 VarI4FromR4 @60 VarI4FromR8 @61 VarI4FromCy @62 VarI4FromDate @63 VarI4FromStr @64 VarI4FromDisp @65 VarI4FromBool @66 VarI4FromI1 @209 VarI4FromUI2 @210 VarI4FromUI4 @211 VarI4FromDec @212 VarR4FromUI1 @68 VarR4FromI2 @69 VarR4FromI4 @70 VarR4FromR8 @71 VarR4FromCy @72 VarR4FromDate @73 VarR4FromStr @74 VarR4FromDisp @75 VarR4FromBool @76 VarR4FromI1 @213 VarR4FromUI2 @214 VarR4FromUI4 @215 VarR4FromDec @216 VarR8FromUI1 @78 VarR8FromI2 @79 VarR8FromI4 @80 VarR8FromR4 @81 VarR8FromCy @82 VarR8FromDate @83 VarR8FromStr @84 VarR8FromDisp @85 VarR8FromBool @86 VarR8FromI1 @217 VarR8FromUI2 @218 VarR8FromUI4 @219 VarR8FromDec @220 VarDateFromUI1 @88 VarDateFromI2 @89 VarDateFromI4 @90 VarDateFromR4 @91 VarDateFromR8 @92 VarDateFromCy @93 VarDateFromStr @94 VarDateFromDisp @95 VarDateFromBool @96 VarDateFromI1 @221 VarDateFromUI2 @222 VarDateFromUI4 @223 VarDateFromDec @224 VarCyFromUI1 @98 VarCyFromI2 @99 VarCyFromI4 @100 VarCyFromR4 @101 VarCyFromR8 @102 VarCyFromDate=VarCyFromR8 @103 VarCyFromStr @104 VarCyFromDisp @105 VarCyFromBool=VarCyFromI2 @106 VarCyFromI1 @225 VarCyFromUI2 @226 VarCyFromUI4 @227 VarCyFromDec @228 VarBstrFromUI1 @108 VarBstrFromI2 @109 VarBstrFromI4 @110 VarBstrFromR4 @111 VarBstrFromR8 @112 VarBstrFromCy @113 VarBstrFromDate @114 VarBstrFromDisp @115 VarBstrFromBool @116 VarBstrFromI1 @229 VarBstrFromUI2 @230 VarBstrFromUI4 @231 VarBstrFromDec @232 VarBoolFromUI1 @118 VarBoolFromI2 @119 VarBoolFromI4 @120 VarBoolFromR4 @121 VarBoolFromR8 @122 VarBoolFromDate @123 VarBoolFromCy @124 VarBoolFromStr @125 VarBoolFromDisp @126 VarBoolFromI1 @233 VarBoolFromUI2 @234 VarBoolFromUI4 @235 VarBoolFromDec @236 VarUI1FromI2 @130 VarUI1FromI4 @131 VarUI1FromR4 @132 VarUI1FromR8 @133 VarUI1FromCy @134 VarUI1FromDate @135 VarUI1FromStr @136 VarUI1FromDisp @137 VarUI1FromBool @138 VarUI1FromI1 @237 VarUI1FromUI2 @238 VarUI1FromUI4 @239 VarUI1FromDec @240 VarDecFromUI1 @190 VarDecFromI2 @191 VarDecFromI4 @192 VarDecFromR4 @193 VarDecFromR8 @194 VarDecFromDate @195 VarDecFromCy @196 VarDecFromStr @197 VarDecFromDisp @198 VarDecFromBool @199 VarDecFromI1 @241 VarDecFromUI2 @242 VarDecFromUI4 @243 VarI1FromUI1 @244 VarI1FromI2 @245 VarI1FromI4 @246 VarI1FromR4 @247 VarI1FromR8 @248 VarI1FromDate @249 VarI1FromCy @250 VarI1FromStr @251 VarI1FromDisp @252 VarI1FromBool @253 VarI1FromUI2 @254 VarI1FromUI4 @255 VarI1FromDec @256 VarUI2FromUI1 @257 VarUI2FromI2 @258 VarUI2FromI4 @259 VarUI2FromR4 @260 VarUI2FromR8 @261 VarUI2FromDate @262 VarUI2FromCy @263 VarUI2FromStr @264 VarUI2FromDisp @265 VarUI2FromBool @266 VarUI2FromI1 @267 VarUI2FromUI4 @268 VarUI2FromDec @269 VarUI4FromUI1 @270 VarUI4FromI2 @271 VarUI4FromI4 @272 VarUI4FromR4 @273 VarUI4FromR8 @274 VarUI4FromDate @275 VarUI4FromCy @276 VarUI4FromStr @277 VarUI4FromDisp @278 VarUI4FromBool @279 VarUI4FromI1 @280 VarUI4FromUI2 @281 VarUI4FromDec @282 #if OE_WIN32 BSTR_UserSize @283 BSTR_UserMarshal @284 BSTR_UserUnmarshal @285 BSTR_UserFree @286 VARIANT_UserSize @287 VARIANT_UserMarshal @288 VARIANT_UserUnmarshal @289 VARIANT_UserFree @290 LPSAFEARRAY_UserSize @291 LPSAFEARRAY_UserMarshal @292 LPSAFEARRAY_UserUnmarshal @293 LPSAFEARRAY_UserFree @294 LPSAFEARRAY_Size @295 LPSAFEARRAY_Marshal @296 LPSAFEARRAY_Unmarshal @297 UserHWND_from_local @380 UserHWND_to_local @381 UserHWND_free_inst @382 UserHWND_free_local @383 UserBSTR_from_local @384 UserBSTR_to_local @385 UserBSTR_free_inst @386 UserBSTR_free_local @387 UserVARIANT_from_local @388 UserVARIANT_to_local @389 UserVARIANT_free_inst @390 UserVARIANT_free_local @391 UserEXCEPINFO_from_local @392 UserEXCEPINFO_to_local @393 UserEXCEPINFO_free_inst @394 UserEXCEPINFO_free_local @395 UserMSG_from_local @396 UserMSG_to_local @397 UserMSG_free_inst @398 UserMSG_free_local @399 #endif //OE_WIN32 ; IIDs ; #if OE_MACPPC // These shouldn't have been exported, but we // can't remove them or we will break compatibility // with old apps. Made them private so that new apps // won't bind through the DLL anymore. IID_IDispatch @144 PRIVATE IID_IEnumVARIANT @145 PRIVATE #endif ; Not needed in combined DLL's DispCallFunc @146 ; Variant Coersion API Extension ; VariantChangeTypeEx @147 ; SAFEARRAY APIs ; SafeArrayPtrOfIndex @148 #if OE_WIN32 ; BSTR Byte APIs ; SysStringByteLen @149 SysAllocStringByteLen @150 ;SysReAllocStringByteLen @151 #endif //OE_WIN32 ; Type librarary APIs CreateTypeLib @160 LoadTypeLib @161 LoadRegTypeLib @162 RegisterTypeLib @163 QueryPathOfRegTypeLib @164 LHashValOfNameSys @165 #if OE_WIN32 LHashValOfNameSysA @166 #endif //OE_WIN32 ; New API's for OA94 OaBuildVersion @170 ; New API's for OA96 ClearCustData @171 // UNDONE: collapse all the ordinals in order to save space CreateTypeLib2 @180 #if OE_WIN32 //UNDONE: temporary until Forms^3 stops demand-loading this OACreateTypeLib2=CreateTypeLib2 #endif //OE_WIN32 LoadTypeLibEx @183 #if OE_WIN32 SystemTimeToVariantTime @184 VariantTimeToSystemTime @185 #endif // OE_WIN32 UnRegisterTypeLib @186 ; Rich error APIs GetErrorInfo @200 SetErrorInfo @201 CreateErrorInfo @202 DllRegisterServer PRIVATE DllUnregisterServer PRIVATE #if !OE_MAC GetRecordInfoFromGuids @322 GetRecordInfoFromTypeInfo @323 #endif ; CALENDAR_SUPPORT ; Date Pack/Unpack APIs. VarDateFromUdate @330 VarDateFromUdateEx @319 VarUdateFromDate @331 ; CALENDAR_SUPPORT ; API to access the Secondary month names GetAltMonthNames @332 ; Mac Specific Entry Points #if OE_MACPPC ; TypeLib LoadTypeLibFSp @300 QueryTypeLibFolder @301 RegisterTypeLibFolder @302 // UNDONE: these should really be private, but the other DLLs need to call them. // UNDONE: Maybe build 2 import libs, one internal, and one external? MemAlloc @350 MemFree @351 // Needed by OAREM ErrSysAllocStringLen @352 ErrSysAllocString @353 SafeArraySize @354 // Needed by OATLB InitAppData @355 g_pappdata @356 LoadTypeLib1LockBytes @357 // Needed by OARARE IsJapan @358 IsDBCS @359 ; NLS // marked these as private, since we don't want them in the import lib anymore CompareStringA=Thunk_CompareStringA @403 PRIVATE LCMapStringA=Thunk_LCMapStringA @400 PRIVATE GetLocaleInfoA=Thunk_GetLocaleInfoA @404 PRIVATE GetStringTypeA=Thunk_GetStringTypeA @405 PRIVATE GetSystemDefaultLangID=Thunk_GetSystemDefaultLangID @406 PRIVATE GetUserDefaultLangID=Thunk_GetUserDefaultLangID @407 PRIVATE GetSystemDefaultLCID=Thunk_GetSystemDefaultLCID @408 PRIVATE GetUserDefaultLCID=Thunk_GetUserDefaultLCID @409 PRIVATE #endif ; DLL support API DllCanUnloadNow PRIVATE ; new SafeArray APIs SafeArrayCreateVector @411 SafeArrayCopyData @412 ; Vector <-> Bstr conversion APIs VectorFromBstr @413 BstrFromVector @414 #if !OE_MAC ; Standard-Types entry points OleIconToCursor @415 OleCreatePropertyFrameIndirect @416 OleCreatePropertyFrame @417 OleLoadPicture @418 OleLoadPictureEx @401 OleCreatePictureIndirect @419 OleCreateFontIndirect @420 OleTranslateColor @421 OleLoadPictureFile @422 OleLoadPictureFileEx @402 OleSavePictureFile @423 OleLoadPicturePath @424 ; Format entry points VarFormat @87 VarFormatDateTime @97 VarFormatNumber @107 VarFormatPercent @117 VarFormatCurrency @127 VarWeekdayName @128 VarMonthName @129 VarFormatFromTokens @139 VarTokenizeFormatString @140 ; Variant math VarAdd @141 VarAnd @142 VarDiv @143 VarEqv @152 VarIdiv @153 VarImp @154 VarMod @155 VarMul @156 VarOr @157 VarPow @158 VarSub @159 VarXor @167 VarAbs @168 VarFix @169 VarInt @172 VarNeg @173 VarNot @174 VarRound @175 VarCmp @176 VarDecAdd @177 VarDecDiv @178 VarDecMul @179 VarDecSub @181 VarDecAbs @182 VarDecFix @187 VarDecInt @188 VarDecNeg @189 VarDecRound @203 VarDecCmp @204 VarDecCmpR8 @298 VarCyAdd @299 VarCyMul @303 VarCyMulI4 @304 VarCySub @305 VarCyAbs @306 VarCyFix @307 VarCyInt @308 VarCyNeg @309 VarCyRound @310 VarCyCmp @311 VarCyCmpR8 @312 VarBstrCat @313 VarBstrCmp @314 VarR8Pow @315 VarR4CmpR8 @316 VarR8Round @317 VarCat @318 #endif // // Note: If you plan to add more entry points, please fill in the holes // we already have, i.e., select numbers that are smaller than 423. // This way, we don't increase the DLL image size for entry points.