;********************************************************************
;**                     Microsoft Windows                          **
;**               Copyright(c) Microsoft Corp., 1992 - 1994        **
;********************************************************************

LIBRARY         COMPOBJ
DESCRIPTION 	'WOW REPLACEMENT COMPOBJ'
EXETYPE         WINDOWS

CODE            MOVEABLE DISCARDABLE LOADONCALL SHARED

DATA            MOVEABLE SINGLE

HEAPSIZE	4096	    ; Need heap for C++ environment cache


EXPORTS
	WEP					@0	RESIDENTNAME
	COBUILDVERSION				@1
	COINITIALIZE				@2
	COUNINITIALIZE				@3
	COGETMALLOC				@4
	COREGISTERCLASSOBJECT			@5
	COREVOKECLASSOBJECT			@6
	COGETCLASSOBJECT			@7
	COMARSHALINTERFACE			@8
	COUNMARSHALINTERFACE			@9
	COLOADLIBRARY				@10
	COFREELIBRARY				@11
	COFREEALLLIBRARIES			@12
	COCREATEINSTANCE			@13
	STRINGFROMIID				@14
        CODISCONNECTOBJECT			@15
        CORELEASEMARSHALDATA			@16
        COFREEUNUSEDLIBRARIES			@17
	ISEQUALGUID				@18
	STRINGFROMCLSID				@19
	CLSIDFROMSTRING				@20

	ISVALIDPTRIN				@21
	ISVALIDPTROUT				@22
	ISVALIDINTERFACE			@23
	ISVALIDIID                  		@24
	
	RESULTFROMSCODE				@25
	GETSCODE				@26

        COREGISTERMESSAGEFILTER     		@27
        COISHANDLERCONNECTED			@28 
        ;; UNUSED				@29
	
        COFILETIMETODOSDATETIME     		@30
        CODOSDATETIMETOFILETIME     		@31

	COMARSHALHRESULT			@32
	COUNMARSHALHRESULT			@33

	COGETCURRENTPROCESS			@34
	
	COISOLE1CLASS				@36

	_GUID_NULL				@37
	_IID_IUnknown				@38
	_IID_IClassFactory			@39
	_IID_IMalloc				@40
	_IID_IMarshal				@41
	_IID_IRpcChannel			@42
	_IID_IRpcStub				@43
	_IID_IStubManager			@44
	_IID_IRpcProxy				@45
	_IID_IProxyManager			@46
	_IID_IPSFactory				@47
	_IID_ILockBytes				@48
	_IID_IStorage				@49
	_IID_IStream				@50
	_IID_IEnumSTATSTG			@51
	_IID_IBindCtx				@52
	_IID_IMoniker				@53
	_IID_IRunningObjectTable		@54
	_IID_IInternalMoniker			@55
	_IID_IRootStorage  			@56
	_IID_IDfReserved1			@57
	_IID_IDfReserved2			@58
	_IID_IDfReserved3			@59
	_IID_IMessageFilter			@60

	CLSIDFROMPROGID				@61
	PROGIDFROMCLSID				@62
 
	COLOCKOBJECTEXTERNAL			@63

	_CLSID_StdMarshal			@64

	COGETTREATASCLASS			@65
	COTREATASCLASS				@66

	COGETSTANDARDMARSHAL			@67
	PROPAGATERESULT				@68

	IIDFROMSTRING				@69

	_IID_IStdMarshalInfo			@70

	COCREATESTANDARDMALLOC			@71
	
	_IID_IExternalConnection 		@72

	COCREATEGUID				@73

	;; internal calls below this point

	FNASSERT				@75

        STRINGFROMGUID2				@76
	COGETCLASSEXT				@77
	OLE1CLASSFROMCLSID2			@78
	CLSIDFROMOLE1CLASS			@79
	COOPENCLASSKEY				@80
	GUIDFROMSTRING				@81
	COFILETIMENOW				@82

	REMALLOCOID				@83
	REMFREEOID				@84
	REMCREATEREMOTEHANDLER		        @85
	REMCONNECTTOOBJECT		       	@86
        REMGETINFOFORCID			@87

        LRPCCALL				@88
        LRPCDISPATCH				@89
        LRPCREGISTERMONITOR			@90
        LRPCREVOKEMONITOR			@91
        LRPCGETTHREADWINDOW			@92
	TIMERCALLBACKPROC			@93

	LOOKUPETASK				@94
	SETETASK				@95
	

	LRPCFREEMONITORDATA			@96
	REMLOOKUPSHUNK    			@97
	
	;; collection class entry points

	??0CArrayFValue@@REC@KI@Z 		@100
	??1CArrayFValue@@REC@XZ			@101
	?AssertValid@CArrayFValue@@RFCXXZ	@102
	?FreeExtra@CArrayFValue@@RECXXZ		@103
	?_GetAt@CArrayFValue@@RFCPEXH@Z		@104
	?GetSize@CArrayFValue@@RFCHXZ		@105
;	?GetSizeValue@CArrayFValue@@RFCHXZ	@106
;	?GetUpperBound@CArrayFValue@@RFCHXZ	@107
	?IndexOf@CArrayFValue@@RECHPEXII@Z	@108
	?InsertAt@CArrayFValue@@RECHHPEXH@Z	@109
	?RemoveAt@CArrayFValue@@RECXHH@Z	@111
	?SetAt@CArrayFValue@@RECXHPEX@Z		@112
	?SetAtGrow@CArrayFValue@@RECHHPEX@Z	@113
	?SetSize@CArrayFValue@@RECHHH@Z		@114

	; Added for OLE automation
	COGETSTATE				@115
	COSETSTATE				@110

	?GetAssocAt@CMapKeyToValue@@BFCPEUCAssoc@1@PEXIAEI@Z		@120
	?SetAssocKey@CMapKeyToValue@@BFCHPEUCAssoc@1@PEXI@Z		@121
	??1CMapKeyToValue@@REC@XZ					@122
	?GetAssocKeyPtr@CMapKeyToValue@@BFCXPEUCAssoc@1@PEPEXPEI@Z	@123
	?NewAssoc@CMapKeyToValue@@BECPEUCAssoc@1@IPEXI0@Z		@124
	?SizeAssoc@CMapKeyToValue@@BFCIXZ				@125
	?FreeAssoc@CMapKeyToValue@@BECXPEUCAssoc@1@@Z			@126
	?GetStartPosition@CMapKeyToValue@@RFCPEXXZ			@127
	?GetNextAssoc@CMapKeyToValue@@RFCXPEPEXPEXPEI1@Z		@128
	?CompareAssocKey@CMapKeyToValue@@BFCHPEUCAssoc@1@PEXI@Z		@129
	?RemoveHKey@CMapKeyToValue@@RECHK@Z				@130
	?GetHKey@CMapKeyToValue@@RFCKPEXI@Z				@131
	?GetCount@CMapKeyToValue@@RFCHXZ				@132
	?Lookup@CMapKeyToValue@@RFCHPEXI0@Z				@133
	?GetAssocValue@CMapKeyToValue@@BFCXPEUCAssoc@1@PEX@Z		@134
	?RemoveKey@CMapKeyToValue@@RECHPEXI@Z				@135
	?RemoveAll@CMapKeyToValue@@RECXXZ				@136
;	?IsEmpty@CMapKeyToValue@@RFCHXZ					@137
	?FreeAssocKey@CMapKeyToValue@@BFCXPEUCAssoc@1@@Z        	@138
	?SetAt@CMapKeyToValue@@RECHPEXI0@Z				@139
	?LookupHKey@CMapKeyToValue@@RFCHKPEX@Z				@140
	?AssertValid@CMapKeyToValue@@RFCXXZ				@141
	?SetAssocValue@CMapKeyToValue@@BFCXPEUCAssoc@1@PEX@Z		@142
	?SetAtHKey@CMapKeyToValue@@RECHKPEX@Z				@143
	??0CMapKeyToValue@@REC@KIIHP7CIPEXI@ZI@Z			@144
	?InitHashTable@CMapKeyToValue@@BECHXZ				@145
	?GetAssocValuePtr@CMapKeyToValue@@BFCXPEUCAssoc@1@PEPEX@Z	@146
	?LookupAdd@CMapKeyToValue@@RFCHPEXI0@Z				@147
	MKVDEFAULTHASHKEY						@148
	
    
    
    
	COMEMCTXOF							@150
	COMEMALLOC							@151
	COMEMFREE							@152

   	CORUNMODALLOOP							@160
	COHANDLEINCOMINGCALL                   	                        @161
	COSETACKSTATE                                                   @162


	; Additional exports for 16/32 interop
	CALL32INITIALIZE			                        @200
	CALLOBJECTINWOW				                        @201
	CALLOBJECTINWOWCHECKINIT		                        @203

IMPORTS
	KERNEL.LOADLIBRARYEX32W	         ;;@513	 NODATA	  ;;
	KERNEL.FREELIBRARY32W 	         ;;@514	 NODATA	  ;;
	KERNEL.GETPROCADDRESS32W         ;;@515	 NODATA	  ;;
	KERNEL.GETVDMPOINTER32W	         ;;@516	 NODATA	  ;;
	KERNEL.CALLPROC32W		 ;;@517	 NODATA	  ;;

        KERNEL_SETOWNER = KERNEL.403
