/****************************************************************************** Copyright (c) 2000 Microsoft Corporation Module Name: UploadServerCustom.idl Abstract: This file contains the declaration of the set of pseudo-COM interfaces used by custom providers. Revision History: created derekm 04/21/00 ******************************************************************************/ import "oaidl.idl"; import "ocidl.idl"; interface IULServer; interface IULProvider; interface IULSession; [ object, uuid(8E82AE00-D1A3-11D2-9374-00C04F72DAF7), pointer_default(unique) ] interface IULSession : IUnknown { [propget] HRESULT Client ( [out] BSTR *pVal ); [propget] HRESULT Command ( [out] DWORD *pVal ); [propget] HRESULT ProviderID ( [out] BSTR *pVal ); [propget] HRESULT Username ( [out] BSTR *pVal ); [propget] HRESULT JobID ( [out] BSTR *pVal ); [propget] HRESULT SizeAvailable( [out] DWORD *pVal ); [propget] HRESULT SizeTotal ( [out] DWORD *pVal ); [propget] HRESULT SizeOriginal ( [out] DWORD *pVal ); [propget] HRESULT Data ( [out] IStream* *pStm ); [propget] HRESULT ProviderData ( [out] DWORD *pVal ); [propput] HRESULT ProviderData ( [in] DWORD newVal ); }; [ object, uuid(8E82AE01-D1A3-11D2-9374-00C04F72DAF7), pointer_default(unique) ] interface IULProvider : IUnknown { HRESULT ValidateClient ( [in] IULServer* server, [in] IULSession* job ); HRESULT DataAvailable ( [in] IULServer* server, [in] IULSession* job ); HRESULT TransferComplete( [in] IULServer* server, [in] IULSession* job ); }; [ object, uuid(8E82AE02-D1A3-11D2-9374-00C04F72DAF7), pointer_default(unique) ] interface IULServer : IUnknown { HRESULT GetRequestVariable( [in] BSTR bstrName, [out] BSTR *pbstrVal ); HRESULT AbortTransfer ( ); HRESULT CompleteTransfer( [in] IStream* data ); };