341 lines
8 KiB
Plaintext
341 lines
8 KiB
Plaintext
//-----------------------------------------------------------------------------
|
|
// 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
|