//----------------------------------------------------------------------------- // File: msdasc.idl // // Copyright: Copyright (c) Microsoft Corporation // // Contents: IDL source for MSDASC.dll // // Comments: This file will be processed by the MIDL tool to // produce the type library (acm.tlb) and marshalling code. // //----------------------------------------------------------------------------- cpp_quote("//-----------------------------------------------------------------------------") cpp_quote("// File: .C or .H file generated by msdasc.idl ") cpp_quote("//") cpp_quote("// Copyright: Copyright (c) 1998-1999 Microsoft Corporation") cpp_quote("//") cpp_quote("// Contents: .C or .H file generated by msdasc.idl") cpp_quote("//") cpp_quote("// Comments: ") cpp_quote("//") cpp_quote("//-----------------------------------------------------------------------------") import "oaidl.idl"; import "ocidl.idl"; cpp_quote("") cpp_quote("#ifdef _WIN64") cpp_quote("") cpp_quote("typedef LONGLONG COMPATIBLE_LONG;") cpp_quote("") cpp_quote("#else") cpp_quote("") typedef LONG COMPATIBLE_LONG; cpp_quote("#endif // _WIN64") #ifndef _PROXY_STUB_BUILDER // For DSL... // import "oledb.idl"; typedef enum tagEBindInfoOptions { BIO_BINDER = 0x00000001 } EBindInfoOptions; // // Additional STGM flags for OLEDB for documents // // STGM_COLLECTION: Create a collection rather than a document. // This flag is valid only if the STGM_CREATE is set. // cpp_quote("#define STGM_COLLECTION 0x00002000L") // STGM_OUTPUT: Open the executed content, and not underlying source file. // cpp_quote("#define STGM_OUTPUT 0x00008000L") // STGM_OPEN: when specified with STGM_WRITE or STGM_READWRITE this flag // indicates that the resource should be opened if it already exists // cpp_quote("#define STGM_OPEN 0x80000000L") // STGM_RECURSIVE: Any locks acquired with any SHARE_DENY_* flags // apply to all subcontainers as well if the resource is a collection. If // the resource is not a collection, STGM_RECURSIVE has no effect. // cpp_quote("#define STGM_RECURSIVE 0x01000000L") // STGM_STRICTOPEN - open but fail if does not exist // cpp_quote("#define STGM_STRICTOPEN 0x40000000L") [ uuid(06210E88-01F5-11D1-B512-0080C781C384), helpstring("IService Interface"), pointer_default(unique) ] interface IService : IUnknown { [local] HRESULT InvokeService( [in] IUnknown * pUnkInner); }; // Type definitions // typedef DWORD DBPROMPTOPTIONS; typedef enum tagDBPROMPTOPTIONSENUM { DBPROMPTOPTIONS_NONE = 0x00, DBPROMPTOPTIONS_WIZARDSHEET = 0x01, DBPROMPTOPTIONS_PROPERTYSHEET = 0x02, DBPROMPTOPTIONS_BROWSEONLY = 0x08, DBPROMPTOPTIONS_DISABLE_PROVIDER_SELECTION = 0x10, DBPROMPTOPTIONS_DISABLESAVEPASSWORD = 0x20 } DBPROMPTOPTIONSENUM; // IDBPromptInitialize // [ object, uuid(2206CCB0-19C1-11D1-89E0-00C04FD7A829), helpstring("IDBPromptInitialize Interface"), pointer_default(unique), local, restricted ] interface IDBPromptInitialize : IUnknown { [helpstring("Method PromptDataSource"), local] HRESULT PromptDataSource( [in] IUnknown * pUnkOuter, [in] HWND hWndParent, [in] DBPROMPTOPTIONS dwPromptOptions, [in] ULONG cSourceTypeFilter, [in, size_is(cSourceTypeFilter)] DBSOURCETYPE * rgSourceTypeFilter, [in] LPCOLESTR pwszszzProviderFilter, [in] REFIID riid, [in, out, iid_is(riid)] IUnknown ** ppDataSource); [helpstring("Method PromptFileName")] HRESULT PromptFileName( [in] HWND hWndParent, [in] DBPROMPTOPTIONS dwPromptOptions, [in] LPCOLESTR pwszInitialDirectory, [in] LPCOLESTR pwszInitialFile, [out] LPOLESTR * ppwszSelectedFile); }; #endif // _PROXY_STUB_BUILDER // IDataInitialize // [ object, uuid(2206CCB1-19C1-11D1-89E0-00C04FD7A829), helpstring("IDataInitialize Interface"), pointer_default(unique) ] interface IDataInitialize : IUnknown { [helpstring("Method GetDataSource")] HRESULT GetDataSource( [in] IUnknown * pUnkOuter, [in] DWORD dwClsCtx, [in, unique] LPCOLESTR pwszInitializationString, [in] REFIID riid, [in, out, iid_is(riid)] IUnknown ** ppDataSource); [helpstring("Method GetInitializationString")] HRESULT GetInitializationString( [in] IUnknown * pDataSource, [in] boolean fIncludePassword, [out] LPOLESTR * ppwszInitString); [helpstring("Method CreateDBInstance")] HRESULT CreateDBInstance( [in] REFCLSID clsidProvider, [in] IUnknown * pUnkOuter, [in] DWORD dwClsCtx, [in, unique] LPOLESTR pwszReserved, [in] REFIID riid, [out, iid_is(riid)] IUnknown ** ppDataSource); [helpstring("Method CreateDBInstanceEx"), local] HRESULT CreateDBInstanceEx( [in] REFCLSID clsidProvider, [in] IUnknown * pUnkOuter, [in] DWORD dwClsCtx, [in, unique] LPOLESTR pwszReserved, [in, unique] COSERVERINFO * pServerInfo, [in] ULONG cmq, [in, out, size_is(cmq)] MULTI_QI * rgmqResults); [call_as(CreateDBInstanceEx)] HRESULT RemoteCreateDBInstanceEx( [in] REFCLSID clsidProvider, [in] IUnknown * pUnkOuter, [in] DWORD dwClsCtx, [in, unique] LPOLESTR pwszReserved, [in, unique] COSERVERINFO * pServerInfo, [in] ULONG cmq, [in, size_is(,cmq)] const IID ** rgpIID, [out, size_is(,cmq)] IUnknown ** rgpItf, [out, size_is(cmq)] HRESULT * rghr); [helpstring("Method LoadStringFromStorage")] HRESULT LoadStringFromStorage( [in, unique] LPCOLESTR pwszFileName, [out] LPOLESTR * ppwszInitializationString); [helpstring("Method WriteStringToStorage")] HRESULT WriteStringToStorage( [in, unique] LPCOLESTR pwszFileName, [in, unique] LPCOLESTR pwszInitializationString, [in] DWORD dwCreationDisposition); }; // Service Components private DBPROPIDs // #ifndef _PROXY_STUB_BUILDER // library MSDASC // [ uuid(2206CEB0-19C1-11D1-89E0-00C04FD7A829), version(1.0), helpstring("Microsoft OLE DB Service Component 1.0 Type Library") ] library MSDASC { importlib("stdole32.tlb"); importlib("stdole2.tlb"); // Automation Interface (VB, etc.) // [ object, uuid(2206CCB2-19C1-11D1-89E0-00C04FD7A829), dual, helpstring("Microsoft OLE DB Service Component Automation Interface"), pointer_default(unique) ] interface IDataSourceLocator : IDispatch { // HWND property // [propget, helpstring("Returns and sets the parent window.")] HRESULT hWnd([out, retval] COMPATIBLE_LONG * phwndParent); [propput, helpstring("Returns and sets the parent window.")] HRESULT hWnd([in] COMPATIBLE_LONG hwndParent); // Displays the wizard interface. // [helpstring("PromptNew")] HRESULT PromptNew( [out, retval] IDispatch ** ppADOConnection); // Displays the property sheet. // [helpstring("PromptEdit")] HRESULT PromptEdit( [in, out] IDispatch ** ppADOConnection, [out, retval] VARIANT_BOOL * pbSuccess); }; // coclass DataLinks // [ uuid(2206CDB2-19C1-11D1-89E0-00C04FD7A829), helpstring("Microsoft OLE DB Service Component Data Link") ] coclass DataLinks { [default] interface IDataSourceLocator; interface IDBPromptInitialize; interface IDataInitialize; } // coclass MSDAINITIALIZE // [ uuid(2206CDB0-19C1-11D1-89E0-00C04FD7A829), helpstring("Microsoft OLE DB Service Component Initialization Component") ] coclass MSDAINITIALIZE { [default] interface IDataInitialize; } [ uuid(CCB4EC60-B9DC-11D1-AC80-00A0C9034873), helpstring("Persisted Datasource/Pooling Object") ] coclass PDPO { [default] interface IPersistFile; } /////////////////////////////////////////////////////////////// // //Root Binder // /////////////////////////////////////////////////////////////// importlib("stdole32.tlb"); importlib("stdole2.tlb"); [ uuid(FF151822-B0BF-11D1-A80D-000000000000), helpstring("Microsoft OLE DB Root Binder") ] coclass RootBinder { [default] interface IBindResource; interface IUnknown; interface ICreateRow; interface IRegisterProvider; interface IDBBinderProperties; interface IMarshal; }; } #endif _PROXY_STUB_BUILDER