mirror of https://github.com/UMSKT/xpmgr.git
121 lines
3.3 KiB
Plaintext
121 lines
3.3 KiB
Plaintext
//-----------------------------------------------------------------------------
|
|
// File: dbinfo.idl
|
|
//
|
|
// Copyright: Copyright (c) Microsoft Corporation
|
|
//
|
|
// Contents: OLE DB interface definition
|
|
//
|
|
// Comments:
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#include "idlmulti.h"
|
|
//
|
|
|
|
REMOTED_INTERFACE(0c733a89-2a1c-11ce-ade5-00aa0044773d)
|
|
|
|
|
|
interface IDBInfo : IUnknown {
|
|
|
|
typedef DWORD DBLITERAL;
|
|
|
|
enum DBLITERALENUM {
|
|
DBLITERAL_INVALID =0,
|
|
DBLITERAL_BINARY_LITERAL =1,
|
|
DBLITERAL_CATALOG_NAME =2,
|
|
DBLITERAL_CATALOG_SEPARATOR =3,
|
|
DBLITERAL_CHAR_LITERAL =4,
|
|
DBLITERAL_COLUMN_ALIAS =5,
|
|
DBLITERAL_COLUMN_NAME =6,
|
|
DBLITERAL_CORRELATION_NAME =7,
|
|
DBLITERAL_CURSOR_NAME =8,
|
|
DBLITERAL_ESCAPE_PERCENT =9,
|
|
DBLITERAL_ESCAPE_UNDERSCORE =10,
|
|
DBLITERAL_INDEX_NAME =11,
|
|
DBLITERAL_LIKE_PERCENT =12,
|
|
DBLITERAL_LIKE_UNDERSCORE =13,
|
|
DBLITERAL_PROCEDURE_NAME =14,
|
|
DBLITERAL_QUOTE =15,
|
|
DBLITERAL_SCHEMA_NAME =16,
|
|
DBLITERAL_TABLE_NAME =17,
|
|
DBLITERAL_TEXT_COMMAND =18,
|
|
DBLITERAL_USER_NAME =19,
|
|
DBLITERAL_VIEW_NAME =20,
|
|
};
|
|
|
|
cpp_quote("//@@@+ V2.0")
|
|
cpp_quote("#if( OLEDBVER >= 0x0200 )")
|
|
cpp_quote("#define DBLITERAL_QUOTE_PREFIX DBLITERAL_QUOTE")
|
|
enum DBLITERALENUM20 {
|
|
DBLITERAL_CUBE_NAME =21,
|
|
DBLITERAL_DIMENSION_NAME =22,
|
|
DBLITERAL_HIERARCHY_NAME =23,
|
|
DBLITERAL_LEVEL_NAME =24,
|
|
DBLITERAL_MEMBER_NAME =25,
|
|
DBLITERAL_PROPERTY_NAME =26,
|
|
DBLITERAL_SCHEMA_SEPARATOR =27,
|
|
DBLITERAL_QUOTE_SUFFIX =28,
|
|
|
|
};
|
|
cpp_quote("#endif // OLEDBVER >= 0x0200")
|
|
cpp_quote("//@@@- V2.0")
|
|
|
|
cpp_quote("//@@@+ V2.1")
|
|
cpp_quote("#if( OLEDBVER >= 0x0210 )")
|
|
cpp_quote("#define DBLITERAL_ESCAPE_PERCENT_PREFIX DBLITERAL_ESCAPE_PERCENT")
|
|
cpp_quote("#define DBLITERAL_ESCAPE_UNDERSCORE_PREFIX DBLITERAL_ESCAPE_UNDERSCORE")
|
|
enum DBLITERALENUM21 {
|
|
DBLITERAL_ESCAPE_PERCENT_SUFFIX = 29,
|
|
DBLITERAL_ESCAPE_UNDERSCORE_SUFFIX =30,
|
|
};
|
|
cpp_quote("#endif // OLEDBVER >= 0x0210")
|
|
cpp_quote("//@@@- V2.1")
|
|
|
|
|
|
|
|
typedef struct tagDBLITERALINFO {
|
|
LPOLESTR pwszLiteralValue;
|
|
LPOLESTR pwszInvalidChars;
|
|
LPOLESTR pwszInvalidStartingChars;
|
|
DBLITERAL lt;
|
|
BOOL fSupported;
|
|
ULONG cchMaxLen;
|
|
} DBLITERALINFO;
|
|
|
|
[local]
|
|
HRESULT GetKeywords(
|
|
[out, annotation("__deref_out")] LPOLESTR * ppwszKeywords
|
|
);
|
|
|
|
[call_as(GetKeywords)]
|
|
HRESULT RemoteGetKeywords(
|
|
[in, out, unique] LPOLESTR * ppwszKeywords,
|
|
[out] IErrorInfo ** ppErrorInfoRem
|
|
);
|
|
|
|
[local]
|
|
HRESULT GetLiteralInfo(
|
|
[in] ULONG cLiterals,
|
|
[in, size_is(cLiterals), annotation("__in_ecount_opt(cLiterals)")] const DBLITERAL rgLiterals[],
|
|
[in, out,annotation("__out")] ULONG * pcLiteralInfo,
|
|
[out, size_is(,*pcLiteralInfo), annotation("__deref_out_ecount(*pcLiteralInfo)")] DBLITERALINFO ** prgLiteralInfo,
|
|
[out, annotation("__deref_out_z")] OLECHAR ** ppCharBuffer
|
|
);
|
|
|
|
[call_as(GetLiteralInfo)]
|
|
HRESULT RemoteGetLiteralInfo(
|
|
[in] ULONG cLiterals,
|
|
[in, unique, size_is(cLiterals)] const DBLITERAL *rgLiterals,
|
|
[in, out] ULONG * pcLiteralInfo,
|
|
[out, size_is(,*pcLiteralInfo)] DBLITERALINFO ** prgLiteralInfo,
|
|
[out, size_is(,*pcLiteralInfo)] DB_UPARAMS ** prgLVOffsets,
|
|
[out, size_is(,*pcLiteralInfo)] DB_UPARAMS ** prgICOffsets,
|
|
[out, size_is(,*pcLiteralInfo)] DB_UPARAMS ** prgISCOffsets,
|
|
[in, out] ULONG * pcbCharBuffer,
|
|
[in, out, unique, size_is(,*pcbCharBuffer)] OLECHAR ** ppCharBuffer,
|
|
[out] IErrorInfo ** ppErrorInfoRem
|
|
);
|
|
|
|
}
|
|
|