oledbintfuni.pas
来自「CrLab UniDAC 1.0 include sources」· PAS 代码 · 共 933 行 · 第 1/3 页
PAS
933 行
ulParamSize: UINT;
dwFlags: DBPARAMFLAGS;
bPrecision: Byte;
bScale: Byte;
end;
TDBParamBindInfo = DBPARAMBINDINFO;
{$EXTERNALSYM DBPARAMBINDINFO}
PDBNumeric = ^TDBNumeric;
DB_NUMERIC = packed record
precision: Byte;
scale: Byte;
sign: Byte;
val: array[0..15] of Byte;
end;
TDBNumeric = DB_NUMERIC;
{$EXTERNALSYM DB_NUMERIC}
// Multi Language support
PMIMECPInfo = ^TMIMECPInfo;
MIMECPINFO = record
dwFlags: DWORD;
uiCodePage: UINT;
uiFamilyCodePage: UINT;
wszDescription: array [0..63] of WideChar;
wszWebCharset: array [0..49] of WideChar;
wszHeaderCharset: array [0..49] of WideChar;
wszBodyCharset: array [0..49] of WideChar;
wszFixedWidthFont: array [0..31] of WideChar;
wszProportionalFont: array [0..31] of WideChar;
bGDICharset: BYTE;
end;
TMIMECPInfo = MIMECPINFO;
{ $EXTERNALSYM MIMECPINFO}
PMIMECSetInfo = ^TMIMECSetInfo;
MIMECSETINFO = record
uiCodePage: UINT;
uiInternetEncoding: UINT;
wszCharset: array [0..49] of WideChar;
end;
TMIMECSetInfo = MIMECSETINFO;
{ $EXTERNALSYM MIMECSETINFO}
PRFC1766Info = ^TRFC1766Info;
RFC1766INFO = record
alcid: LCID;
wszRfc1766: array [0..5] of WideChar;
wszLocaleName: array [0..31] of WideChar;
end;
TRFC1766Info = RFC1766INFO;
{ $EXTERNALSYM RFC1766INFO}
const
SizeOfTDBNumeric = SizeOf(TDBNumeric);
type
PDBParamBindInfoArray = ^TDBParamBindInfoArray;
TDBParamBindInfoArray = array[0..MAXBOUND] of TDBParamBindInfo;
// *********************************************************************//
// DBID Values
// *********************************************************************//
const
DB_NULLID: DBID = (uguid: (guid: (D1: 0; D2: 0; D3:0; D4: (0, 0, 0, 0, 0, 0, 0, 0))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid:0));
{$EXTERNALSYM DB_NULLID}
type
TVariantArray = array [0..0] of OleVariant;
PVariantArray = ^TVariantArray;
TGUIDArray = array [0..0] of TGUID;
PGUIDArray = ^TGUIDArray;
// *********************************************************************//
// Interface: ITransaction
// GUID: {0FB15084-AF41-11CE-BD2B-204C4F4F5020}
// *********************************************************************//
{$IFNDEF VER6P}
{$NODEFINE ITransaction}
{$ENDIF}
ITransaction = interface(IUnknown)
['{0FB15084-AF41-11CE-BD2B-204C4F4F5020}']
function Commit(fRetaining: BOOL; grfTC: UINT; grfRM: UINT): HResult; stdcall;
function Abort(pboidReason: PBOID; fRetaining: BOOL; fAsync: BOOL): HResult; stdcall;
function GetTransactionInfo(out pinfo: XACTTRANSINFO): HResult; stdcall;
end;
// *********************************************************************//
// Interface: ITransactionOptions
// GUID: {3A6AD9E0-23B9-11CF-AD60-00AA00A74CCD}
// *********************************************************************//
ITransactionOptions = interface(IUnknown)
['{3A6AD9E0-23B9-11CF-AD60-00AA00A74CCD}']
function SetOptions(var pOptions: XACTOPT): HResult; stdcall;
function GetOptions(var pOptions: XACTOPT): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IAccessor
// GUID: {0C733A8C-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IAccessor = interface(IUnknown)
['{0C733A8C-2A1C-11CE-ADE5-00AA0044773D}']
function AddRefAccessor(HACCESSOR: HACCESSOR; pcRefCount: PUINT): HResult; stdcall;
function CreateAccessor(dwAccessorFlags: UINT; cBindings: UINT; rgBindings: PDBBindingArray;
cbRowSize: UINT; var phAccessor: HACCESSOR; rgStatus: PUintArray): HResult; stdcall;
function GetBindings(HACCESSOR: HACCESSOR; pdwAccessorFlags: PUINT; var pcBindings: UINT;
out prgBindings: PDBBinding): HResult; stdcall;
function ReleaseAccessor(HACCESSOR: HACCESSOR; pcRefCount: PUINT): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IRowset
// GUID: {0C733A7C-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IRowset = interface(IUnknown)
['{0C733A7C-2A1C-11CE-ADE5-00AA0044773D}']
function AddRefRows(cRows: UINT; rghRows: PUintArray; rgRefCounts: PUintArray;
rgRowStatus: PUintArray): HResult; stdcall;
function GetData(HROW: HROW; HACCESSOR: HACCESSOR; pData: IntPtr): HResult; stdcall;
function GetNextRows(hReserved: HCHAPTER; lRowsOffset: Integer; cRows: Integer;
out pcRowsObtained: UINT; var prghRows: PUintArray): HResult; stdcall;
function ReleaseRows(
cRows: UINT;
rghRows: PUintArray;
rgRowOptions,
rgRefCounts,
rgRowStatus: PUintArray): HResult; stdcall;
function RestartPosition(hReserved: HCHAPTER): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IRowsetInfo
// GUID: {0C733A55-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IRowsetInfo = interface(IUnknown)
['{0C733A55-2A1C-11CE-ADE5-00AA0044773D}']
function GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
out pcPropertySets: UINT; out prgPropertySets: PDBPropSet): HResult; stdcall;
function GetReferencedRowset(iOrdinal: UINT; const riid: TGUID;
out ppReferencedRowset: IUnknown): HResult; stdcall;
function GetSpecification(const riid: TGUID; out ppSpecification: IUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IRowsetLocate
// GUID: {0C733A7D-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IRowsetLocate = interface(IRowset)
['{0C733A7D-2A1C-11CE-ADE5-00AA0044773D}']
function Compare(hReserved: HCHAPTER; cbBookmark1: UINT; pBookmark1: PByte;
cbBookmark2: UINT; pBookmark2: PByte; out pComparison: UINT): HResult; stdcall;
function GetRowsAt(hReserved1: HWATCHREGION; hReserved2: HCHAPTER; cbBookmark: UINT;
pBookmark: PByte; lRowsOffset: Integer; cRows: Integer;
out pcRowsObtained: UINT; var prghRows: PUintArray): HResult; stdcall;
function GetRowsByBookmark(hReserved: HCHAPTER; cRows: UINT; rgcbBookmarks: PUintArray;
rgpBookmarks: PPByteArray; rghRows, rgRowStatus: PUintArray): HResult; stdcall;
function Hash(hReserved: HCHAPTER; cBookmarks: UINT; rgcbBookmarks: PUintArray;
rgpBookmarks: PPByteArray; rgHashedValues,
rgBookmarkStatus: PUintArray): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IRowsetChange
// GUID: {0C733A05-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IRowsetChange = interface(IUnknown)
['{0C733A05-2A1C-11CE-ADE5-00AA0044773D}']
function DeleteRows(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray;
rgRowStatus: PUintArray): HResult; stdcall;
function SetData(HROW: HROW; HACCESSOR: HACCESSOR; pData: IntPtr): HResult; stdcall;
function InsertRow(hReserved: HCHAPTER; HACCESSOR: HACCESSOR; pData: IntPtr;
out phRow: HROW): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IRowsetUpdate
// GUID: {0C733A6D-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IRowsetUpdate = interface(IRowsetChange)
['{0C733A6D-2A1C-11CE-ADE5-00AA0044773D}']
function GetOriginalData(HROW: HROW; HACCESSOR: HACCESSOR; pData: IntPtr): HResult; stdcall;
function GetPendingRows(hReserved: HCHAPTER; dwRowStatus: DBPENDINGSTATUS; pcPendingRows: PUINT;
prgPendingRows: PPHROW; prgPendingStatus: PPDBPENDINGSTATUS): HResult; stdcall;
function GetRowStatus(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray;
rgPendingStatus: PUintArray): HResult; stdcall;
function Undo(
hReserved: HCHAPTER;
cRows: UINT;
rghRows: PUintArray;
pcRowsUndone: PUINT;
prgRowsUndone: PPHROW;
prgRowStatus: PPDBROWSTATUS
): HResult; stdcall;
function Update(
hReserved: HCHAPTER;
cRows: UINT;
rghRows: PUintArray;
pcRows: PUINT;
prgRows: PPHROW;
out prgRowStatus: PDBROWSTATUS
): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IMultipleResults
// GUID: {0C733A90-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IMultipleResults = interface(IUnknown)
['{0C733A90-2A1C-11CE-ADE5-00AA0044773D}']
function GetResult(
const punkOuter: IUnknown;
reserved: Integer;
const riid: TGUID;
out pcRowsAffected: Integer;
out ppRowset: IUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: ICommandPrepare
// GUID: {0C733A26-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
ICommandPrepare = interface(IUnknown)
['{0C733A26-2A1C-11CE-ADE5-00AA0044773D}']
function Prepare(cExpectedRuns: UINT): HResult; stdcall;
function Unprepare: HResult; stdcall;
end;
// *********************************************************************//
// Interface: ICommandProperties
// GUID: {0C733A79-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
ICommandProperties = interface(IUnknown)
['{0C733A79-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: ICommand
// GUID: {0C733A63-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
ICommand = interface(IUnknown)
['{0C733A63-2A1C-11CE-ADE5-00AA0044773D}']
function Cancel: HResult; stdcall;
function Execute(
const punkOuter: IUnknown;
const riid: TGUID;
pParams: PDBPARAMS;
out pcRowsAffected: Integer;
var ppRowset: IUnknown): HResult; stdcall;
function GetDBSession(const riid: TGUID; out ppSession: IUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: ICommandText
// GUID: {0C733A27-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
ICommandText = interface(ICommand)
['{0C733A27-2A1C-11CE-ADE5-00AA0044773D}']
function GetCommandText(
var pguidDialect: TGUID;
out ppwszCommand: PWideChar): HResult; stdcall;
function SetCommandText(
const rguidDialect: TGUID;
pwszCommand: PWideChar): HResult; stdcall;
end;
// *********************************************************************//
// Interface: ICommandWithParameters
// GUID: {0C733A64-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
ICommandWithParameters = interface(IUnknown)
['{0C733A64-2A1C-11CE-ADE5-00AA0044773D}']
function GetParameterInfo(var pcParams: UINT32; out prgParamInfo: PDBPARAMINFO;
ppNamesBuffer: PPOleStr): HResult; stdcall;
function MapParameterNames(cParamNames: UINT; rgParamNames: POleStrList;
rgParamOrdinals: PUintArray): HResult; stdcall;
function SetParameterInfo(cParams: UINT; rgParamOrdinals: PUintArray;
rgParamBindInfo: PDBParamBindInfoArray): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IColumnsRowset
// GUID: {0C733A10-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IColumnsRowset = interface(IUnknown)
['{0C733A10-2A1C-11CE-ADE5-00AA0044773D}']
function GetAvailableColumns(var pcOptColumns: UINT;
var prgOptColumns: PDBID): HResult; stdcall;
function GetColumnsRowset(const punkOuter: IUnknown; cOptColumns: UINT;
rgOptColumns: PDBIDArray; const riid: TGUID; cPropertySets: UINT;
rgPropertySets: PDBPropSetArray; out pColRowset: IUnknown): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IColumnsInfo
// GUID: {0C733A11-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
IColumnsInfo = interface(IUnknown)
['{0C733A11-2A1C-11CE-ADE5-00AA0044773D}']
function GetColumnInfo(var pcColumns: UINT; out prgInfo: PDBColumnInfo;
out ppStringsBuffer: IntPtr): HResult; stdcall;
function MapColumnIDs(cColumnIDs: UINT; rgColumnIDs: PDBIDArray;
rgColumns: PUintArray): HResult; stdcall;
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?