📄 mmole2.pas
字号:
procedure OnSave; virtual; stdcall; abstract;
procedure OnClose; virtual; stdcall; abstract;
end;
{ IAdviseSink2 interface }
{$IFDEF BCB} {$EXTERNALSYM IAdviseSink2 } {$ENDIF}
IAdviseSink2 = class(IAdviseSink)
public
procedure OnLinkSrcChange(mk: IMoniker); virtual; stdcall; abstract;
end;
{ IDataObject interface }
{$IFDEF BCB} {$EXTERNALSYM IDataObject} {$ENDIF}
IDataObject = class(IUnknown)
public
function GetData(var formatetcIn: TFormatEtc; var medium: TStgMedium):
HResult; virtual; stdcall; abstract;
function GetDataHere(var formatetc: TFormatEtc; var medium: TStgMedium):
HResult; virtual; stdcall; abstract;
function QueryGetData(var formatetc: TFormatEtc): HResult;
virtual; stdcall; abstract;
function GetCanonicalFormatEtc(var formatetc: TFormatEtc;
var formatetcOut: TFormatEtc): HResult; virtual; stdcall; abstract;
function SetData(var formatetc: TFormatEtc; var medium: TStgMedium;
fRelease: BOOL): HResult; virtual; stdcall; abstract;
function EnumFormatEtc(dwDirection: Longint; var enumFormatEtc:
IEnumFormatEtc): HResult; virtual; stdcall; abstract;
function DAdvise(var formatetc: TFormatEtc; advf: Longint;
advSink: IAdviseSink; var dwConnection: Longint): HResult; virtual; stdcall; abstract;
function DUnadvise(dwConnection: Longint): HResult; virtual; stdcall; abstract;
function EnumDAdvise(var enumAdvise: IEnumStatData): HResult;
virtual; stdcall; abstract;
end;
{ IDataAdviseHolder interface }
{$IFDEF BCB} {$EXTERNALSYM IDataAdviseHolder } {$ENDIF}
IDataAdviseHolder = class(IUnknown)
public
function Advise(dataObject: IDataObject; var fetc: TFormatEtc;
advf: Longint; advise: IAdviseSink; var pdwConnection: Longint): HResult;
virtual; stdcall; abstract;
function Unadvise(dwConnection: Longint): HResult; virtual; stdcall; abstract;
function EnumAdvise(var enumAdvise: IEnumStatData): HResult; virtual; stdcall; abstract;
function SendOnDataChange(dataObject: IDataObject; dwReserved: Longint;
advf: Longint): HResult; virtual; stdcall; abstract;
end;
{ IMessageFilter interface }
PInterfaceInfo = ^TInterfaceInfo;
{$IFDEF BCB} {$EXTERNALSYM tagINTERFACEINFO} {$ENDIF}
tagINTERFACEINFO = record
unk: IUnknown;
iid: TIID;
wMethod: Word;
end;
TInterfaceInfo = tagINTERFACEINFO;
{$IFDEF BCB} {$EXTERNALSYM INTERFACEINFO} {$ENDIF}
INTERFACEINFO = tagINTERFACEINFO;
{$IFDEF BCB} {$EXTERNALSYM IMessageFilter } {$ENDIF}
IMessageFilter = class(IUnknown)
public
function HandleInComingCall(dwCallType: Longint; htaskCaller: HTask;
dwTickCount: Longint; lpInterfaceInfo: PInterfaceInfo): Longint;
virtual; stdcall; abstract;
function RetryRejectedCall(htaskCallee: HTask; dwTickCount: Longint;
dwRejectType: Longint): Longint; virtual; stdcall; abstract;
function MessagePending(htaskCallee: HTask; dwTickCount: Longint;
dwPendingType: Longint): Longint; virtual; stdcall; abstract;
end;
{ IRpcChannelBuffer interface }
TRpcOleDataRep = Longint;
PRpcOleMessage = ^TRpcOleMessage;
{$IFDEF BCB} {$EXTERNALSYM tagRPCOLEMESSAGE} {$ENDIF}
tagRPCOLEMESSAGE = record
reserved1: Pointer;
dataRepresentation: TRpcOleDataRep;
Buffer: Pointer;
cbBuffer: Longint;
iMethod: Longint;
reserved2: array[0..4] of Pointer;
rpcFlags: Longint;
end;
TRpcOleMessage = tagRPCOLEMESSAGE;
{$IFDEF BCB} {$EXTERNALSYM RPCOLEMESSAGE} {$ENDIF}
RPCOLEMESSAGE = tagRPCOLEMESSAGE;
{$IFDEF BCB} {$EXTERNALSYM IRpcChannelBuffer } {$ENDIF}
IRpcChannelBuffer = class(IUnknown)
public
function GetBuffer(var message: TRpcOleMessage; iid: TIID): HResult;
virtual; stdcall; abstract;
function SendReceive(var message: TRpcOleMessage;
var status: Longint): HResult; virtual; stdcall; abstract;
function FreeBuffer(var message: TRpcOleMessage): HResult;
virtual; stdcall; abstract;
function GetDestCtx(var dwDestContext: Longint;
var pvDestContext): HResult; virtual; stdcall; abstract;
function IsConnected: HResult; virtual; stdcall; abstract;
end;
{ IRpcProxyBuffer interface }
{$IFDEF BCB} {$EXTERNALSYM IRpcProxyBuffer } {$ENDIF}
IRpcProxyBuffer = class(IUnknown)
public
function Connect(rpcChannelBuffer: IRpcChannelBuffer): HResult;
virtual; stdcall; abstract;
procedure Disconnect; virtual; stdcall; abstract;
end;
{ IRpcStubBuffer interface }
{$IFDEF BCB} {$EXTERNALSYM IRpcStubBuffer } {$ENDIF}
IRpcStubBuffer = class(IUnknown)
public
function Connect(unkServer: IUnknown): HResult; virtual; stdcall; abstract;
procedure Disconnect; virtual; stdcall; abstract;
function Invoke(var rpcmsg: TRpcOleMessage; rpcChannelBuffer:
IRpcChannelBuffer): HResult; virtual; stdcall; abstract;
function IsIIDSupported(const iid: TIID): IRpcStubBuffer;
virtual; stdcall; abstract;
function CountRefs: Longint; virtual; stdcall; abstract;
function DebugServerQueryInterface(var pv): HResult;
virtual; stdcall; abstract;
procedure DebugServerRelease(pv: Pointer); virtual; stdcall; abstract;
end;
{ IPSFactoryBuffer interface }
{$IFDEF BCB} {$EXTERNALSYM IPSFactoryBuffer } {$ENDIF}
IPSFactoryBuffer = class(IUnknown)
public
function CreateProxy(unkOuter: IUnknown; const iid: TIID;
var proxy: IRpcProxyBuffer; var pv): HResult; virtual; stdcall; abstract;
function CreateStub(const iid: TIID; unkServer: IUnknown;
var stub: IRpcStubBuffer): HResult; virtual; stdcall; abstract;
end;
{ Automation types }
PBStr = ^TBStr;
TBStr = POleStr;
PBStrList = ^TBStrList;
TBStrList = array[0..65535] of TBStr;
PBlob = ^TBlob;
{$IFDEF BCB} {$EXTERNALSYM tagBLOB} {$ENDIF}
tagBLOB = record
cbSize: Longint;
pBlobData: Pointer;
end;
{$IFDEF BCB} {$EXTERNALSYM TBlob} {$ENDIF}
TBlob = tagBLOB;
{$IFDEF BCB} {$EXTERNALSYM BLOB} {$ENDIF}
BLOB = tagBLOB;
PClipData = ^TClipData;
{$IFDEF BCB} {$EXTERNALSYM tagCLIPDATA} {$ENDIF}
tagCLIPDATA = record
cbSize: Longint;
ulClipFmt: Longint;
pClipData: Pointer;
end;
TClipData = tagCLIPDATA;
{$IFDEF BCB} {$EXTERNALSYM CLIPDATA} {$ENDIF}
CLIPDATA = tagCLIPDATA;
PSafeArrayBound = ^TSafeArrayBound;
{$IFDEF BCB} {$EXTERNALSYM tagSAFEARRAYBOUND} {$ENDIF}
tagSAFEARRAYBOUND = record
cElements: Longint;
lLbound: Longint;
end;
TSafeArrayBound = tagSAFEARRAYBOUND;
{$IFDEF BCB} {$EXTERNALSYM SAFEARRAYBOUND} {$ENDIF}
SAFEARRAYBOUND = tagSAFEARRAYBOUND;
PSafeArray = ^TSafeArray;
{$IFDEF BCB} {$EXTERNALSYM tagSAFEARRAY} {$ENDIF}
tagSAFEARRAY = record
cDims: Word;
fFeatures: Word;
cbElements: Longint;
cLocks: Longint;
pvData: Pointer;
rgsabound: array[0..0] of TSafeArrayBound;
end;
TSafeArray = tagSAFEARRAY;
{$IFDEF BCB} {$EXTERNALSYM SAFEARRAY} {$ENDIF}
SAFEARRAY = tagSAFEARRAY;
TOleDate = Double;
TCurrency = Comp;
TOleBool = WordBool;
TVarType = Word;
PVariantArg = ^TVariantArg;
{$IFDEF BCB} {$EXTERNALSYM tagVARIANT} {$ENDIF}
tagVARIANT = record
vt: TVarType;
wReserved1: Word;
wReserved2: Word;
wReserved3: Word;
case Integer of
VT_UI1: (bVal: Byte);
VT_I2: (iVal: Smallint);
VT_I4: (lVal: Longint);
VT_R4: (fltVal: Single);
VT_R8: (dblVal: Double);
VT_BOOL: (vbool: TOleBool);
VT_ERROR: (scode: HResult);
VT_CY: (cyVal: TCurrency);
VT_DATE: (date: TOleDate);
VT_BSTR: (bstrVal: TBStr);
VT_UNKNOWN: (unkVal: IUnknown);
VT_DISPATCH: (dispVal: IDispatch);
VT_ARRAY: (parray: PSafeArray);
VT_BYREF or VT_UI1: (pbVal: ^Byte);
VT_BYREF or VT_I2: (piVal: ^Smallint);
VT_BYREF or VT_I4: (plVal: ^Longint);
VT_BYREF or VT_R4: (pfltVal: ^Single);
VT_BYREF or VT_R8: (pdblVal: ^Double);
VT_BYREF or VT_BOOL: (pbool: ^TOleBool);
VT_BYREF or VT_ERROR: (pscode: ^HResult);
VT_BYREF or VT_CY: (pcyVal: ^TCurrency);
VT_BYREF or VT_DATE: (pdate: ^TOleDate);
VT_BYREF or VT_BSTR: (pbstrVal: PBStr);
VT_BYREF or VT_UNKNOWN: (punkVal: ^IUnknown);
VT_BYREF or VT_DISPATCH: (pdispVal: ^IDispatch);
VT_BYREF or VT_ARRAY: (pparray: ^PSafeArray);
VT_BYREF or VT_VARIANT: (pvarVal: PVariant);
VT_BYREF: (byRef: Pointer);
end;
TVariantArg = tagVARIANT;
{$IFDEF BCB} {$EXTERNALSYM VARIANTARG} {$ENDIF}
VARIANTARG = tagVARIANT;
PVariantArgList = ^TVariantArgList;
TVariantArgList = array[0..65535] of TVariantArg;
TDispID = Longint;
PDispIDList = ^TDispIDList;
TDispIDList = array[0..65535] of TDispID;
TMemberID = Longint;
PMemberIDList = ^TMemberIDList;
TMemberIDList = array[0..65535] of TMemberID;
TPropID = Longint;
HRefType = Longint;
TTypeKind = Longint;
PArrayDesc = ^TArrayDesc;
PTypeDesc= ^TTypeDesc;
{$IFDEF BCB} {$EXTERNALSYM tagTYPEDESC} {$ENDIF}
tagTYPEDESC = record
case Integer of
VT_PTR: (ptdesc: PTypeDesc; vt: TVarType);
VT_CARRAY: (padesc: PArrayDesc);
VT_USERDEFINED: (hreftype: HRefType);
end;
TTypeDesc = tagTYPEDESC;
{$IFDEF BCB} {$EXTERNALSYM TYPEDESC} {$ENDIF}
TYPEDESC = tagTYPEDESC;
{$IFDEF BCB} {$EXTERNALSYM tagARRAYDESC} {$ENDIF}
tagARRAYDESC = record
tdescElem: TTypeDesc;
cDims: Word;
rgbounds: array[0..0] of TSafeArrayBound;
end;
TArrayDesc = tagARRAYDESC;
{$IFDEF BCB} {$EXTERNALSYM ARRAYDESC} {$ENDIF}
ARRAYDESC = tagARRAYDESC;
PIDLDesc = ^TIDLDesc;
{$IFDEF BCB} {$EXTERNALSYM tagIDLDESC} {$ENDIF}
tagIDLDESC = record
dwReserved: Longint;
wIDLFlags: Word;
end;
TIDLDesc = tagIDLDESC;
{$IFDEF BCB} {$EXTERNALSYM IDLDESC} {$ENDIF}
IDLDESC = tagIDLDESC;
PElemDesc = ^TElemDesc;
{$IFDEF BCB} {$EXTERNALSYM tagELEMDESC} {$ENDIF}
tagELEMDESC = record
tdesc: TTypeDesc;
idldesc: TIDLDesc;
end;
TElemDesc = tagELEMDESC;
{$IFDEF BCB} {$EXTERNALSYM ELEMDESC} {$ENDIF}
ELEMDESC = tagELEMDESC;
PElemDescList = ^TElemDescList;
TElemDescList = array[0..65535] of TElemDesc;
PTypeAttr = ^TTypeAttr;
{$IFDEF BCB} {$EXTERNALSYM tagTYPEATTR} {$ENDIF}
tagTYPEATTR = record
guid: TGUID;
lcid: TLCID;
dwReserved: Longint;
memidConstructor: TMemberID;
memidDestructor: TMemberID;
lpstrSchema: POleStr;
cbSizeInstance: Longint;
typekind: TTypeKind;
cFuncs: Word;
cVars: Word;
cImplTypes: Word;
cbSizeVft: Word;
cbAlignment: Word;
wTypeFlags: Word;
wMajorVerNum: Word;
wMinorVerNum: Word;
tdescAlias: TTypeD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -