📄 devart.sdac.oledbintf.pas
字号:
end;
TDBParamInfo = DBPARAMINFO;
{$EXTERNALSYM DBPARAMINFO}*)
PDBParamBindInfo = IntPtr;
[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Auto)]
DBPARAMBINDINFO = packed record
pwszDataSourceType: IntPtr;
pwszName: IntPtr;
ulParamSize: UINT;
dwFlags: DBPARAMFLAGS;
bPrecision: Byte;
bScale: Byte;
end;
TDBParamBindInfo = DBPARAMBINDINFO;
{$EXTERNALSYM DBPARAMBINDINFO}
PDBParamBindInfoArray = IntPtr;
TDBParamBindInfoArray = array[0..MAXBOUND] of TDBParamBindInfo;
PDBNumeric = IntPtr;
[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Auto)]
DB_NUMERIC = packed record
precision: Byte;
scale: Byte;
sign: Byte;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16, ArraySubType = UnmanagedType.U1)]
val: array[0..15] of Byte;
end;
TDBNumeric = DB_NUMERIC;
{$EXTERNALSYM DB_NUMERIC}
// Multi Language support
PMIMECPInfo = IntPtr;
[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Auto)]
MIMECPINFO = record
dwFlags: DWORD;
uiCodePage: UINT;
uiFamilyCodePage: UINT;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64, ArraySubType = UnmanagedType.U2)]
wszDescription: array [0..63] of WideChar;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U2)]
wszWebCharset: array [0..49] of WideChar;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U2)]
wszHeaderCharset: array [0..49] of WideChar;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U2)]
wszBodyCharset: array [0..49] of WideChar;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.U2)]
wszFixedWidthFont: array [0..31] of WideChar;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.U2)]
wszProportionalFont: array [0..31] of WideChar;
bGDICharset: BYTE;
end;
TMIMECPInfo = MIMECPINFO;
{$EXTERNALSYM MIMECPINFO}
PMIMECSetInfo = IntPtr;
[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Auto)]
MIMECSETINFO = record
uiCodePage: UINT;
uiInternetEncoding: UINT;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U2)]
wszCharset: array [0..49] of WideChar;
end;
TMIMECSetInfo = MIMECSETINFO;
{$EXTERNALSYM MIMECSETINFO}
PRFC1766Info = IntPtr;
[StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Auto)]
RFC1766INFO = record
alcid: LCID;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6, ArraySubType = UnmanagedType.U2)]
wszRfc1766: array [0..5] of WideChar;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.U2)]
wszLocaleName: array [0..31] of WideChar;
end;
TRFC1766Info = RFC1766INFO;
{$EXTERNALSYM RFC1766INFO}
const
SizeOfTDBNumeric = 19;
// *********************************************************************//
// DBID Values
// *********************************************************************//
var
DB_NULLID: _DBID = ($00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00);
type
TVariantArray = array [0..0] of OleVariant;
PVariantArray = IntPtr;
TGUIDArray = array [0..0] of TGUID;
PGUIDArray = IntPtr;
// *********************************************************************//
// Interface: ITransaction
// GUID: {0FB15084-AF41-11CE-BD2B-204C4F4F5020}
// *********************************************************************//
{$IFNDEF VER6P}
{$NODEFINE ITransaction}
{$ENDIF}
[ComImport, GuidAttribute('0FB15084-AF41-11CE-BD2B-204C4F4F5020'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
ITransaction = interface
[PreserveSig]
function Commit(fRetaining: BOOL; grfTC: UINT; grfRM: UINT): HResult;
[PreserveSig]
function Abort(pboidReason: PBOID; fRetaining: BOOL; fAsync: BOOL): HResult;
[PreserveSig]
function GetTransactionInfo(out pinfo: XACTTRANSINFO): HResult;
end;
// *********************************************************************//
// Interface: ITransactionOptions
// GUID: {3A6AD9E0-23B9-11CF-AD60-00AA00A74CCD}
// *********************************************************************//
[ComImport, GuidAttribute('3A6AD9E0-23B9-11CF-AD60-00AA00A74CCD'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
ITransactionOptions = interface
[PreserveSig]
function SetOptions(var pOptions: XACTOPT): HResult;
[PreserveSig]
function GetOptions(var pOptions: XACTOPT): HResult;
end;
// *********************************************************************//
// Interface: IAccessor
// GUID: {0C733A8C-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
[ComImport, GuidAttribute('0C733A8C-2A1C-11CE-ADE5-00AA0044773D'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
IAccessor = interface
[PreserveSig]
function AddRefAccessor(
HACCESSOR: HACCESSOR;
[Out, MarshalAs(UnmanagedType.U4)]
out pcRefCount: UINT): HResult;
[PreserveSig]
function CreateAccessor(
dwAccessorFlags: UINT;
cBindings: UINT;
rgBindings: PDBBindingArray;
cbRowSize: UINT;
var phAccessor: HACCESSOR;
rgStatus: PUintArray
): HResult;
[PreserveSig]
function GetBindings(HACCESSOR: HACCESSOR;
[Out, MarshalAs(UnmanagedType.U4)]
out pdwAccessorFlags: UINT;
var pcBindings: UINT;
out prgBindings: PDBBinding): HResult;
[PreserveSig]
function ReleaseAccessor(HACCESSOR: HACCESSOR;
pcRefCount: PUINT): HResult;
end;
// *********************************************************************//
// Interface: IRowset
// GUID: {0C733A7C-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
[ComImport, GuidAttribute('0C733A7C-2A1C-11CE-ADE5-00AA0044773D'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
IRowset = interface
[PreserveSig]
function AddRefRows(cRows: UINT; rghRows: PUintArray; rgRefCounts: PUintArray;
rgRowStatus: PUintArray): HResult;
[PreserveSig]
function GetData(HROW: HROW; HACCESSOR: HACCESSOR; pData: IntPtr): HResult;
[PreserveSig]
function GetNextRows(hReserved: HCHAPTER; lRowsOffset: Integer; cRows: Integer;
out pcRowsObtained: UINT; var prghRows: PUintArray): HResult;
[PreserveSig]
function ReleaseRows(
cRows: UINT;
rghRows: PUintArray;
rgRowOptions,
rgRefCounts,
rgRowStatus: PUintArray): HResult;
[PreserveSig]
function RestartPosition(hReserved: HCHAPTER): HResult;
end;
// *********************************************************************//
// Interface: IRowsetInfo
// GUID: {0C733A55-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
[ComImport, GuidAttribute('0C733A55-2A1C-11CE-ADE5-00AA0044773D'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
IRowsetInfo = interface
[PreserveSig]
function GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
out pcPropertySets: UINT; out prgPropertySets: PDBPropSet): HResult;
[PreserveSig]
function GetReferencedRowset(iOrdinal: UINT;
[In, MarshalAs(UnmanagedType.LPStruct)]
const riid: TGUID;
[Out, MarshalAs(UnmanagedType.IUnknown)]
out ppReferencedRowset: IUnknown): HResult;
[PreserveSig]
function GetSpecification(
[In, MarshalAs(UnmanagedType.LPStruct)]
const riid: TGUID;
[Out, MarshalAs(UnmanagedType.IUnknown)]
out ppSpecification: IUnknown): HResult;
end;
// *********************************************************************//
// Interface: IRowsetLocate
// GUID: {0C733A7D-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
[ComImport, GuidAttribute('0C733A7D-2A1C-11CE-ADE5-00AA0044773D'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
IRowsetLocate = interface
// IRowset
[PreserveSig]
function AddRefRows(cRows: UINT; rghRows: PUintArray; rgRefCounts: PUintArray;
rgRowStatus: PUintArray): HResult;
[PreserveSig]
function GetData(HROW: HROW; HACCESSOR: HACCESSOR; pData: IntPtr): HResult;
[PreserveSig]
function GetNextRows(hReserved: HCHAPTER; lRowsOffset: Integer; cRows: Integer;
out pcRowsObtained: UINT; var prghRows: PUintArray): HResult;
[PreserveSig]
function ReleaseRows(cRows: UINT; rghRows: PUintArray; rgRowOptions,
rgRefCounts, rgRowStatus: PUintArray): HResult;
[PreserveSig]
function RestartPosition(hReserved: HCHAPTER): HResult;
// IRowsetLocate
[PreserveSig]
function Compare(hReserved: HCHAPTER; cbBookmark1: UINT; pBookmark1: IntPtr;
cbBookmark2: UINT; pBookmark2: IntPtr; out pComparison: UINT): HResult;
[PreserveSig]
function GetRowsAt(
hReserved1: HWATCHREGION;
hReserved2: HCHAPTER;
cbBookmark: UINT;
pBookmark: IntPtr;
lRowsOffset: Integer;
cRows: Integer;
out pcRowsObtained: UINT;
var prghRows: PUintArray): HResult;
[PreserveSig]
function GetRowsByBookmark(hReserved: HCHAPTER; cRows: UINT; rgcbBookmarks: PUintArray;
rgpBookmarks: PPByteArray; rghRows, rgRowStatus: PUintArray): HResult;
[PreserveSig]
function Hash(hReserved: HCHAPTER; cBookmarks: UINT; rgcbBookmarks: PUintArray;
rgpBookmarks: PPByteArray; rgHashedValues,
rgBookmarkStatus: PUintArray): HResult;
end;
// *********************************************************************//
// Interface: IRowsetChange
// GUID: {0C733A05-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
[ComImport, GuidAttribute('0C733A05-2A1C-11CE-ADE5-00AA0044773D'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
IRowsetChange = interface
[PreserveSig]
function DeleteRows(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray;
rgRowStatus: PUintArray): HResult;
[PreserveSig]
function SetData(HROW: HROW; HACCESSOR: HACCESSOR; pData: IntPtr): HResult;
[PreserveSig]
function InsertRow(hReserved: HCHAPTER; HACCESSOR: HACCESSOR; pData: IntPtr;
out phRow: HROW): HResult;
end;
// *********************************************************************//
// Interface: IRowsetUpdate
// GUID: {0C733A6D-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
[ComImport, GuidAttribute('0C733A6D-2A1C-11CE-ADE5-00AA0044773D'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
IRowsetUpdate = interface
// IRowsetChange
[PreserveSig]
function DeleteRows(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray;
rgRowStatus: PUintArray): HResult;
[PreserveSig]
function SetData(HROW: HROW; HACCESSOR: HACCESSOR; pData: IntPtr): HResult;
[PreserveSig]
function InsertRow(hReserved: HCHAPTER; HACCESSOR: HACCESSOR; pData: IntPtr;
out phRow: HROW): HResult;
// IRowsetUpdate
[PreserveSig]
function GetOriginalData(HROW: HROW; HACCESSOR: HACCESSOR; pData: IntPtr): HResult;
[PreserveSig]
function GetPendingRows(hReserved: HCHAPTER; dwRowStatus: DBPENDINGSTATUS;
[Out, MarshalAs(UnmanagedType.U4)]
out pcPendingRows: UINT;
prgPendingRows: PPHROW; prgPendingStatus: PPDBPENDINGSTATUS): HResult;
[PreserveSig]
function GetRowStatus(hReserved: HCHAPTER;
[Out, MarshalAs(UnmanagedType.U4)]
out cRows: UINT;
rghRows: PUintArray;
rgPendingStatus: PUintArray): HResult;
[PreserveSig]
function Undo(
hReserved: HCHAPTER;
cRows: UINT;
rghRows: PUintArray;
pcRowsUndone: PUINT;
prgRowsUndone: PPHROW;
prgRowStatus: PPDBROWSTATUS
): HResult;
[PreserveSig]
function Update(
hReserved: HCHAPTER;
cRows: UINT;
rghRows: PUintArray;
pcRows: PUINT;
prgRows: PPHROW;
out prgRowStatus: PDBROWSTATUS
): HResult;
end;
// *********************************************************************//
// Interface: IMultipleResults
// GUID: {0C733A90-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
[ComImport, GuidAttribute('0C733A90-2A1C-11CE-ADE5-00AA0044773D'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
IMultipleResults = interface
[PreserveSig]
function GetResult(
[In, MarshalAs(UnmanagedType.IUnknown)]
const punkOuter: IUnknown;
reserved: Integer;
[In, MarshalAs(UnmanagedType.LPStruct)]
const riid: TGUID;
[Out, MarshalAs(UnmanagedType.U4)]
out pcRowsAffected: Integer;
[Out, MarshalAs(UnmanagedType.Interface)]
out ppRowset: IUnknown): HResult;
end;
// *********************************************************************//
// Interface: ICommandPrepare
// GUID: {0C733A26-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
[ComImport, GuidAttribute('0C733A26-2A1C-11CE-ADE5-00AA0044773D'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
ICommandPrepare = interface
[PreserveSig]
function Prepare(cExpectedRuns: UINT): HResult;
[PreserveSig]
function Unprepare: HResult;
end;
// *********************************************************************//
// Interface: ICommandProperties
// GUID: {0C733A79-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
[ComImport, GuidAttribute('0C733A79-2A1C-11CE-ADE5-00AA0044773D'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
ICommandProperties = interface
[PreserveSig]
function GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
var pcPropertySets: UINT; out prgPropertySets: PDBPropSet): HResult;
[PreserveSig]
function SetProperties(cPropertySets: UINT; rgPropertySets: PDBPropSetArray): HResult;
end;
// *********************************************************************//
// Interface: ICommand
// GUID: {0C733A63-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
[ComImport, GuidAttribute('0C733A63-2A1C-11CE-ADE5-00AA0044773D'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
ICommand = interface
[PreserveSig]
function Cancel: HResult;
[PreserveSig]
function Execute(
[In, MarshalAs(UnmanagedType.IUnknown)]
const punkOuter: IUnknown;
[In, MarshalAs(UnmanagedType.LPStruct)]
const riid: TGUID;
pParams: PDBPARAMS;
[Out, MarshalAs(UnmanagedType.I4)]
out pcRowsAffected: Integer;
[Out, MarshalAs(UnmanagedType.Interface)]
out ppRowset: IUnknown): HResult;
[PreserveSig]
function GetDBSession(
[In, MarshalAs(UnmanagedType.LPStruct)]
const riid: TGUID;
[Out, MarshalAs(UnmanagedType.IUnknown)]
out ppSession: IUnknown): HResult;
end;
// *********************************************************************//
// Interface: ICommandText
// GUID: {0C733A27-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
[ComImport, GuidAttribute('0C733A27-2A1C-11CE-ADE5-00AA0044773D'), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
ICommandText = interface(ICommand)
[PreserveSig]
function Cancel: HResult;
[PreserveSig]
function Execute(
[In, MarshalAs(UnmanagedType.IUnknown)]
const punkOuter: IUnknown;
[In, MarshalAs(UnmanagedType.LPStruct)]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -