windows-nt/Source/XPSP1/NT/enduser/stuff/msdasc/msdasc.idl
2020-09-26 16:20:57 +08:00

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