#include // TDC.idl : IDL source for TDC.dll // // This file will be processed by the MIDL tool to // produce the type library (TDC.tlb) and marshalling code. #include "TDCIds.h" [ uuid(333C7BC1-460F-11D0-BC04-0080C7055A83), version(1.1), helpstring("Tabular Data Control 1.1 Type Library") ] library TDCLib { importlib("stdole2.tlb"); // don't remove this! [ uuid(E0E270C0-C0BE-11d0-8FE4-00A0C90A6341), odl, dual] interface OLEDBSimpleProviderX : IDispatch { }; [ object, uuid(333C7BC5-460F-11D0-BC04-0080C7055A83), dual, helpstring("ITDCCtl Interface"), pointer_default(unique) ] interface ITDCCtl : IDispatch { // Properties [propget, id(DISPID_FIELDDELIM)] HRESULT FieldDelim([out, retval] BSTR* pbstrFieldDelim); [propput, id(DISPID_FIELDDELIM)] HRESULT FieldDelim([in] BSTR bstrFieldDelim); [propget, id(DISPID_ROWDELIM)] HRESULT RowDelim([out, retval] BSTR* pbstrRowDelim); [propput, id(DISPID_ROWDELIM)] HRESULT RowDelim([in] BSTR bstrRowDelim); [propget, id(DISPID_TEXTQUALIFIER)] HRESULT TextQualifier([out, retval] BSTR* pbstrTextQualifier); [propput, id(DISPID_TEXTQUALIFIER)] HRESULT TextQualifier([in] BSTR bstrTextQualifier); [propget, id(DISPID_ESCAPECHAR)] HRESULT EscapeChar([out, retval] BSTR* pbstrEscapeChar); [propput, id(DISPID_ESCAPECHAR)] HRESULT EscapeChar([in] BSTR bstrEscapeChar); [propget, id(DISPID_USEHEADER)] HRESULT UseHeader([out, retval] VARIANT_BOOL* pfUseHeader); [propput, id(DISPID_USEHEADER)] HRESULT UseHeader([in] VARIANT_BOOL fUseHeader); [propget, id(DISPID_SORTCOLUMN), hidden] HRESULT SortColumn([out, retval] BSTR* pbstrSortColumn); [propput, id(DISPID_SORTCOLUMN), hidden] HRESULT SortColumn([in] BSTR bstrSortColumn); [propget, id(DISPID_SORTASCENDING), hidden] HRESULT SortAscending([out, retval] VARIANT_BOOL *pfSortAscending); [propput, id(DISPID_SORTASCENDING), hidden] HRESULT SortAscending([in] VARIANT_BOOL fSortAscending); [propget, id(DISPID_FILTERVALUE), hidden] HRESULT FilterValue([out, retval] BSTR* pbstrFilterValue); [propput, id(DISPID_FILTERVALUE), hidden] HRESULT FilterValue([in] BSTR bstrFilterValue); [propget, id(DISPID_FILTERCRITERION), hidden] HRESULT FilterCriterion([out, retval] BSTR* pbstrFilterCriterion); [propput, id(DISPID_FILTERCRITERION), hidden] HRESULT FilterCriterion([in] BSTR bstrFilterCriterion); [propget, id(DISPID_FILTERCOLUMN), hidden] HRESULT FilterColumn([out, retval] BSTR* pbstrFilterColumn); [propput, id(DISPID_FILTERCOLUMN), hidden] HRESULT FilterColumn([in] BSTR bstrFilterColumn); [propget, id(DISPID_CHARSET)] HRESULT CharSet([out, retval] BSTR *pbstrCharSet); [propput, id(DISPID_CHARSET)] HRESULT CharSet([in] BSTR bstrCharSet); [propget, id(DISPID_LANGUAGE)] HRESULT Language([out, retval] BSTR *pbstrLanguage); [propput, id(DISPID_LANGUAGE)] HRESULT Language([in] BSTR bstrLanguage); [propget, id(DISPID_CASESENSITIVE)] HRESULT CaseSensitive([out, retval] VARIANT_BOOL *pfCaseSensitive); [propput, id(DISPID_CASESENSITIVE)] HRESULT CaseSensitive([in] VARIANT_BOOL fCaseSensitive); // This will be tagged differently when we learn more about the HTML // sub-tag "OBJECT" [propget, id(DISPID_DATAURL)] HRESULT DataURL([out, retval] BSTR* pbstrDataURL); [propput, id(DISPID_DATAURL)] HRESULT DataURL([in] BSTR bstrDataURL); [restricted, id(-3900)] HRESULT msDataSourceObject([in] BSTR qualifier, [out, retval] IUnknown **ppUnk); [restricted, id(-3901)] HRESULT addDataSourceListener([in] IUnknown *pEvent); // Methods HRESULT Reset(); // New properties/methods - put here to existing preserve vtable order // ;begin_internal #ifdef NEVER [propget, id(DISPID_TIMER)] HRESULT RefreshInterval([out, retval] LONG *plSecs); [propput, id(DISPID_TIMER)] HRESULT RefreshInterval([in] LONG lSecs); #endif // ;end_internal [hidden, restricted] HRESULT _OnTimer(); [propget, id(DISPID_FILTER)] HRESULT Filter([out, retval] BSTR* pbstrFilterExpr); [propput, id(DISPID_FILTER)] HRESULT Filter([in] BSTR bstrFilterExpr); [propget, id(DISPID_SORT)] HRESULT Sort([out, retval] BSTR* pbstrSortExpr); [propput, id(DISPID_SORT)] HRESULT Sort([in] BSTR bstrSortExpr); [propget, id(DISPID_READYSTATE)] HRESULT ReadyState([out, retval] long *state); [propput, id(DISPID_READYSTATE)] HRESULT ReadyState([in] long state); [propget, id(DISPID_APPENDDATA)] HRESULT AppendData([out, retval] VARIANT_BOOL *pfAppendData); [propput, id(DISPID_APPENDDATA)] HRESULT AppendData([in] VARIANT_BOOL fAppendData); [propget, id(DISPID_OSP), hidden] HRESULT OSP([out, retval] OLEDBSimpleProviderX ** ppISTD); }; [ object, uuid(333C7BC6-460F-11D0-BC04-0080C7055A83), dual, helpstring("Tabular Data Control Event interface"), pointer_default(unique) ] interface ITDCCtlEvents: IDispatch { [id(DISPID_READYSTATECHANGE)] void onreadystatechange(); }; [ uuid(333C7BC4-460F-11D0-BC04-0080C7055A83), helpstring("Tabular Data Control") ] coclass CTDCCtl { [default] interface ITDCCtl; [default, source] interface ITDCCtlEvents; }; // IE5 85290: mshtml needs a way to recognize the TDC from // its IBindStatusCallback. We define a dummy interface for this. [ uuid(3050f6c2-98b5-11cf-bb82-00aa00bdce0b), odl] interface IAmTheTDC : IUnknown { }; };