oledbintfuni.pas
来自「CrLab UniDAC 1.0 include sources」· PAS 代码 · 共 933 行 · 第 1/3 页
PAS
933 行
// *********************************************************************//
// Interface: IDBCreateCommand
// GUID: {0C733A1D-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IDBCreateCommand = interface(IUnknown)
['{0C733A1D-2A1C-11CE-ADE5-00AA0044773D}']
function CreateCommand(const punkOuter: IUnknown; const riid: TGUID;
out ppCommand: IUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDBCreateSession
// GUID: {0C733A5D-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IDBCreateSession = interface(IUnknown)
['{0C733A5D-2A1C-11CE-ADE5-00AA0044773D}']
function CreateSession(const punkOuter: IUnknown; const riid: TGUID;
out ppDBSession: IUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: ISourcesRowset
// GUID: {0C733A1E-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
ISourcesRowset = interface(IUnknown)
['{0C733A1E-2A1C-11CE-ADE5-00AA0044773D}']
function GetSourcesRowset(const punkOuter: IUnknown; const riid: TGUID; cPropertySets: UINT;
rgProperties: PDBPropSetArray; out ppSourcesRowset: IUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDBProperties
// GUID: {0C733A8A-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IDBProperties = interface(IUnknown)
['{0C733A8A-2A1C-11CE-ADE5-00AA0044773D}']
function GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
var pcPropertySets: UINT; out prgPropertySets: PDBPropSet): HResult; stdcall;
function GetPropertyInfo(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
var pcPropertyInfoSets: UINT; out prgPropertyInfoSets: PDBPropInfoSet;
ppDescBuffer: PPOleStr): HResult; stdcall;
function SetProperties(cPropertySets: UINT; rgPropertySets: PDBPropSetArray): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDBInitialize
// GUID: {0C733A8B-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IDBInitialize = interface(IUnknown)
['{0C733A8B-2A1C-11CE-ADE5-00AA0044773D}']
function Initialize: HResult; stdcall;
function Uninitialize: HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDBDataSourceAdmin
// GUID: {0C733A7A-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IDBDataSourceAdmin = interface(IUnknown)
['{0C733A7A-2A1C-11CE-ADE5-00AA0044773D}']
function CreateDataSource(cPropertySets: UINT; rgPropertySets: PDBPropSetArray;
const punkOuter: IUnknown; const riid: TGUID; out ppDBSession: IUnknown): HResult; stdcall;
function DestroyDataSource: HResult; stdcall;
function GetCreationProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
pcPropertyInfoSets: PUINT; out prgPropertyInfoSets: PDBPropInfoSet;
ppDescBuffer: PPOleStr): HResult; stdcall;
function ModifyDataSource(cPropertySets: UINT; rgPropertySets: PDBPropSetArray): HResult; stdcall;
end;
// *********************************************************************//
// Interface: ISessionProperties
// GUID: {0C733A85-2A1C-11CE-ADE5-00AA0044773d}
// *********************************************************************//
ISessionProperties = interface(IUnknown)
['{0C733A85-2A1C-11CE-ADE5-00AA0044773d}']
function GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
var pcPropertySets: UINT; out prgPropertySets: PDBPropSet): HResult; stdcall;
function SetProperties(cPropertySets: UINT; rgPropertySets: PDBPropSetArray): HResult; stdcall;
end;
// *********************************************************************//
// Interface: ITransactionLocal
// GUID: {0C733A5F-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
ITransactionLocal = interface(ITransaction)
['{0C733A5F-2A1C-11CE-ADE5-00AA0044773D}']
function GetOptionsObject(out ppOptions: ITransactionOptions): HResult; stdcall;
function StartTransaction(isoLevel: Integer; isoFlags: UINT;
const pOtherOptions: ITransactionOptions; pulTransactionLevel: PUINT): HResult; stdcall;
end;
// *********************************************************************//
// Interface: ITransactionJoin
// GUID: {0C733A5E-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
ITransactionJoin = interface(IUnknown)
['{0C733A5E-2A1C-11CE-ADE5-00AA0044773D}']
function GetOptionsObject(out ppOptions: ITransactionOptions): HResult; stdcall;
function JoinTransaction(const punkTransactionCoord: IUnknown; isoLevel: Integer;
isoFlags: UINT; const pOtherOptions: ITransactionOptions): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDBPromptInitialize
// GUID: {2206CCB0-19C1-11D1-89E0-00C04FD7A829}
// *********************************************************************//
IDBPromptInitialize = interface(IUnknown)
['{2206CCB0-19C1-11D1-89E0-00C04FD7A829}']
function PromptDataSource(const pUnkOuter: IUnknown; hWndParent: HWND;
dwPromptOptions: DBPROMPTOPTIONS; cSourceTypeFilter: ULONG;
rgSourceTypeFilter: PDBSOURCETYPE; pszProviderFilter: POleStr;
const riid: TIID; var DataSource: IUnknown): HResult; stdcall;
function PromptFileName(hWndParent: HWND; dwPromptOptions: DBPROMPTOPTIONS;
pwszInitialDirectory, pwszInitialFile: POleStr;
var ppwszSelectedFile: POleStr): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IDataInitialize
// GUID: {2206CCB1-19C1-11D1-89E0-00C04FD7A829}
// *********************************************************************//
IDataInitialize = interface(IUnknown)
['{2206CCB1-19C1-11D1-89E0-00C04FD7A829}']
function GetDataSource(
const pUnkOuter: IUnknown;
dwClsCtx: DWORD;
pwszInitializationString: POleStr;
const riid: TIID;
var DataSource: IUnknown): HResult; stdcall;
function GetInitializationString(
const DataSource: IUnknown;
fIncludePassword: Boolean;
out pwszInitString: POleStr): HResult; stdcall;
function CreateDBInstance(const clsidProvider: TGUID;
const pUnkOuter: IUnknown;
dwClsCtx: DWORD; pwszReserved: POleStr;
riid: TIID;
var DataSource: IUnknown): HResult; stdcall;
function CreateDBInstanceEx(
const clsidProvider: TGUID;
const pUnkOuter: IUnknown;
dwClsCtx: DWORD;
pwszReserved: POleStr;
pServerInfo: PCoServerInfo;
cmq: ULONG;
rgmqResults: PMultiQI): HResult; stdcall;
function LoadStringFromStorage(
pwszFileName: POleStr;
out pwszInitializationString: POleStr): HResult; stdcall;
function WriteStringToStorage(
pwszFileName, pwszInitializationString: POleStr;
dwCreationDisposition: DWORD): HResult; stdcall;
end;
IDBSchemaRowset = interface (IUnknown)
['{0c733a7b-2a1c-11ce-ade5-00aa0044773d}']
function GetRowset (const pUnkOuter: IUnknown; const rguidSchema: TGUID;
cRestrictions: UINT; rgRestrictions: PVariantArray; const riid: TGUID;
cPropertySets: UINT; rgPropertySets: PDBPropSetArray;
out ppRowset: IUnknown): HResult; stdcall;
function GetSchemas (out pcSchemas: UINT; out prgSchemas: PGUIDArray;
prgRestrictionSupport: PUINTArray): HResult; stdcall;
end;
IOpenRowset = interface(IUnknown)
['{0c733a69-2a1c-11ce-ade5-00aa0044773d}']
function OpenRowset(const punkOuter: IUnknown; pTableID: PDBID;
pIndexID: PDBID; const riid: TGUID; cPropertySets: UINT;
rgPropertySets: PDBPropIDSetArray; out ppReferencedRowset: IUnknown): HRESULT; stdcall;
end;
IRowsetFastLoad = interface(IUnknown)
['{5CF4CA13-EF21-11d0-97E7-00C04FC2AD98}']
function InsertRow(HACCESSOR: HACCESSOR; pData: Pointer): HRESULT; stdcall;
function Commit(fDone: boolean): HRESULT; stdcall;
end;
IDBAsynchStatus = interface(IUnknown)
['{0c733a95-2a1c-11ce-ade5-00aa0044773d}']
function Abort(Chapter: HCHAPTER; Operation: DBASYNCHOP): HRESULT; stdcall;
function GetStatus(Chapter: HCHAPTER; Operation: DBASYNCHOP; var Progress: UINT;
var ProgressMax: UINT; var AsynchPhase: DWORD; var StatusText: PWideChar): HRESULT; stdcall;
end;
ISSAsynchStatus = interface(IDBAsynchStatus)
['{1FF1F743-8BB0-4c00-ACC4-C10E43B08FC1}']
function WaitForAsynchCompletion(MillisecTimeOut: DWORD): HRESULT; stdcall;
end;
IErrorRecords = interface (IUnknown)
['{0c733a67-2a1c-11ce-ade5-00aa0044773d}']
function (* [local] *) AddErrorRecord(
(* [in] *) const pErrorInfo: ERRORINFO;
(* [in] *) dwLookupID: DWORD;
(* [in] *) const pdispparams: DISPPARAMS;
(* [in] *) const punkCustomError: IUnknown;
(* [in] *) dwDynamicErrorID: DWORD): HResult; stdcall;
function (* [local] *) GetBasicErrorInfo(
(* [in] *) ulRecordNum: ULONG;
(* [out] *) out pErrorInfo: ERRORINFO): HResult; stdcall;
function (* [local] *) GetCustomErrorObject(
(* [in] *) ulRecordNum: ULONG;
(* [in] *) const riid: TGUID;
(* [iid_is][out] *) out ppObject: IUnknown): HResult; stdcall;
function (* [local] *) GetErrorInfo(
(* [in] *) ulRecordNum: ULONG;
(* [in] *) lcid: LCID;
(* [out] *) out ppErrorInfo: IErrorInfo): HResult; stdcall;
function (* [local] *) GetErrorParameters(
(* [in] *) ulRecordNum: ULONG;
(* [out] *) out pdispparams: DISPPARAMS): HResult; stdcall;
function (* [local] *) GetRecordCount(
(* [out] *) out pcRecords: ULONG): HResult; stdcall;
end;
{$EXTERNALSYM IErrorRecords}
// the structure returned by ISQLServerErrorInfo::GetSQLServerInfo
SSERRORINFO_ = record
pwszMessage: PWideChar;
pwszServer: PWideChar;
pwszProcedure: PWideChar;
lNative: integer;
bState: BYTE;
bClass: BYTE;
wLineNumber: WORD;
end;
SSERRORINFO = record
pwszMessage: WideString;
pwszServer: WideString;
pwszProcedure: WideString;
lNative: integer;
bState: BYTE;
bClass: BYTE;
wLineNumber: WORD;
end;
PSSERRORINFO = ^SSERRORINFO_;
type
ISQLServerErrorInfo = interface (IUnknown)
function GetErrorInfo(
(* [out] *) out ppErrorInfo: PSSERRORINFO;
(* [out] *) out ppStringsBuffer: IntPtr{PWideChar}): HResult; stdcall;
end;
/// WARINING - in 64bit OSes DBBKMARK is int64
DBBKMARK = integer;
// Multi Language support
type
IEnumCodePage = interface(IUnknown)
['{275c23e3-3747-11d0-9fea-00aa003f8646}']
function Clone(out ppEnum: IEnumCodePage): HResult; stdcall;
function Next(celt: ULONG; var rgelt: MIMECPINFO; var pceltFetched: ULONG): HResult; stdcall;
function Reset: HResult; stdcall;
function Skip(celt: ULONG): HResult; stdcall;
end;
IEnumRfc1766 = interface(IUnknown)
['{3dc39d1d-c030-11d0-b81b-00c04fc9b31f}']
function Clone(out ppEnum: IEnumRfc1766): HResult; stdcall;
function Next(celt: ULONG; var rgelt: RFC1766INFO; var pceltFetched: ULONG): HResult; stdcall;
function Reset: HResult; stdcall;
function Skip(celt: ULONG): HResult; stdcall;
end;
IMLangConvertCharset = interface(IUnknown)
['{D66D6F98-CDAA-11D0-B822-00C04FC9B31F}']
function Initialize(uiSrcCodePage: UINT; uiDstCodePage: UINT; dwProperty: DWORD): HResult; stdcall;
function GetSourceCodePage(var puiSrcCodePage: UINT): HResult; stdcall;
function GetDestinationCodePage(var puiDstCodePage: UINT): HResult; stdcall;
function GetProperty(var pdwProperty: DWORD): HResult; stdcall;
function DoConversion(pSrcStr: PBYTE; var pcSrcSize: UINT; pDstStr: PBYTE; var pcDstSize: UINT): HResult; stdcall;
function DoConversionToUnicode(pSrcStr: PChar; var pcSrcSize: UINT; pDstStr: PWideChar; var pcDstSize: UINT): HResult; stdcall;
function DoConversionFromUnicode(pSrcStr: PWideChar; var pcSrcSize: UINT; pDstStr: PChar; var pcDstSize: UINT): HResult; stdcall;
end;
IMultiLanguage = interface(IUnknown)
['{275C23E1-3747-11D0-9FEA-00AA003F8646}']
function GetNumberOfCodePageInfo(var pcCodePage: UINT): HResult; stdcall;
function GetCodePageInfo(uiCodePage: UINT; var pCodePageInfo: MIMECPINFO): HResult; stdcall;
function GetFamilyCodePage(uiCodePage: UINT; var puiFamilyCodePage: UINT): HResult; stdcall;
function EnumCodePages(grfFlags: DWORD; out ppEnumCodePage: IEnumCodePage): HResult; stdcall;
function GetCharsetInfo(Charset: PWideChar; var pCharsetInfo: MIMECSETINFO): HResult; stdcall;
function IsConvertible(dwSrcEncoding: DWORD; dwDstEncoding: DWORD): HResult; stdcall;
function ConvertString(var pdwMode: DWORD; dwSrcEncoding: DWORD; dwDstEncoding: DWORD;
pSrcStr: PBYTE; var pcSrcSize: UINT; pDstStr: PBYTE; var pcDstSize: UINT): HResult; stdcall;
function ConvertStringToUnicode(var pdwMode: DWORD; dwEncoding: DWORD; pSrcStr: PChar;
var pcSrcSize: UINT; pDstStr: PWideChar; var pcDstSize: UINT): HResult; stdcall;
function ConvertStringFromUnicode(var pdwMode: DWORD; dwEncoding: DWORD; pSrcStr: PWideChar;
var pcSrcSize: UINT; pDstStr: PChar; var pcDstSize: UINT): HResult; stdcall;
function ConvertStringReset: HResult; stdcall;
function GetRfc1766FromLcid(Locale: LCID; var pbstrRfc1766: WideChar): HResult; stdcall;
function EnumRfc1766(out ppEnumRfc1766: IEnumRfc1766): HResult; stdcall;
function GetRfc1766Info(Locale: LCID; var pRfc1766Info: RFC1766INFO): HResult; stdcall;
function CreateConvertCharset(uiSrcCodePage: UINT; uiDstCodePage: UINT; dwProperty: DWORD;
out ppMLangConvertCharset: IMLangConvertCharset): HResult; stdcall;
end;
implementation
initialization
Assert(SizeOf(DBProp) = SizeOfDBProp);
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?