📄 mmole2.pas
字号:
OLEMISC_ISLINKOBJECT = 64;
{$IFDEF BCB} {$EXTERNALSYM OLEMISC_INSIDEOUT} {$ENDIF}
OLEMISC_INSIDEOUT = 128;
{$IFDEF BCB} {$EXTERNALSYM OLEMISC_ACTIVATEWHENVISIBLE} {$ENDIF}
OLEMISC_ACTIVATEWHENVISIBLE = 256;
{$IFDEF BCB} {$EXTERNALSYM OLEMISC_RENDERINGISDEVICEINDEPENDENT} {$ENDIF}
OLEMISC_RENDERINGISDEVICEINDEPENDENT = 512;
{$IFDEF BCB} {$EXTERNALSYM OLECLOSE_SAVEIFDIRTY} {$ENDIF}
OLECLOSE_SAVEIFDIRTY = 0;
{$IFDEF BCB} {$EXTERNALSYM OLECLOSE_NOSAVE} {$ENDIF}
OLECLOSE_NOSAVE = 1;
{$IFDEF BCB} {$EXTERNALSYM OLECLOSE_PROMPTSAVE} {$ENDIF}
OLECLOSE_PROMPTSAVE = 2;
{$IFDEF BCB} {$EXTERNALSYM OLERENDER_NONE} {$ENDIF}
OLERENDER_NONE = 0;
{$IFDEF BCB} {$EXTERNALSYM OLERENDER_DRAW} {$ENDIF}
OLERENDER_DRAW = 1;
{$IFDEF BCB} {$EXTERNALSYM OLERENDER_FORMAT} {$ENDIF}
OLERENDER_FORMAT = 2;
{$IFDEF BCB} {$EXTERNALSYM OLERENDER_ASIS} {$ENDIF}
OLERENDER_ASIS = 3;
{$IFDEF BCB} {$EXTERNALSYM OLEUPDATE_ALWAYS} {$ENDIF}
OLEUPDATE_ALWAYS = 1;
{$IFDEF BCB} {$EXTERNALSYM OLEUPDATE_ONCALL} {$ENDIF}
OLEUPDATE_ONCALL = 3;
{$IFDEF BCB} {$EXTERNALSYM OLELINKBIND_EVENIFCLASSDIFF} {$ENDIF}
OLELINKBIND_EVENIFCLASSDIFF = 1;
{$IFDEF BCB} {$EXTERNALSYM BINDSPEED_INDEFINITE} {$ENDIF}
BINDSPEED_INDEFINITE = 1;
{$IFDEF BCB} {$EXTERNALSYM BINDSPEED_MODERATE} {$ENDIF}
BINDSPEED_MODERATE = 2;
{$IFDEF BCB} {$EXTERNALSYM BINDSPEED_IMMEDIATE} {$ENDIF}
BINDSPEED_IMMEDIATE = 3;
{$IFDEF BCB} {$EXTERNALSYM OLECONTF_EMBEDDINGS} {$ENDIF}
OLECONTF_EMBEDDINGS = 1;
{$IFDEF BCB} {$EXTERNALSYM OLECONTF_LINKS} {$ENDIF}
OLECONTF_LINKS = 2;
{$IFDEF BCB} {$EXTERNALSYM OLECONTF_OTHERS} {$ENDIF}
OLECONTF_OTHERS = 4;
{$IFDEF BCB} {$EXTERNALSYM OLECONTF_ONLYUSER} {$ENDIF}
OLECONTF_ONLYUSER = 8;
{$IFDEF BCB} {$EXTERNALSYM OLECONTF_ONLYIFRUNNING} {$ENDIF}
OLECONTF_ONLYIFRUNNING = 16;
{$IFDEF BCB} {$EXTERNALSYM DROPEFFECT_NONE} {$ENDIF}
DROPEFFECT_NONE = 0;
{$IFDEF BCB} {$EXTERNALSYM DROPEFFECT_COPY} {$ENDIF}
DROPEFFECT_COPY = 1;
{$IFDEF BCB} {$EXTERNALSYM DROPEFFECT_MOVE} {$ENDIF}
DROPEFFECT_MOVE = 2;
{$IFDEF BCB} {$EXTERNALSYM DROPEFFECT_LINK} {$ENDIF}
DROPEFFECT_LINK = 4;
{$IFDEF BCB} {$EXTERNALSYM DROPEFFECT_SCROLL} {$ENDIF}
DROPEFFECT_SCROLL = $80000000;
{$IFDEF BCB} {$EXTERNALSYM DD_DEFSCROLLINSET} {$ENDIF}
DD_DEFSCROLLINSET = 11;
{$IFDEF BCB} {$EXTERNALSYM DD_DEFSCROLLDELAY} {$ENDIF}
DD_DEFSCROLLDELAY = 50;
{$IFDEF BCB} {$EXTERNALSYM DD_DEFSCROLLINTERVAL} {$ENDIF}
DD_DEFSCROLLINTERVAL = 50;
{$IFDEF BCB} {$EXTERNALSYM DD_DEFDRAGDELAY} {$ENDIF}
DD_DEFDRAGDELAY = 200;
{$IFDEF BCB} {$EXTERNALSYM DD_DEFDRAGMINDIST} {$ENDIF}
DD_DEFDRAGMINDIST = 2;
{$IFDEF BCB} {$EXTERNALSYM OLEVERBATTRIB_NEVERDIRTIES} {$ENDIF}
OLEVERBATTRIB_NEVERDIRTIES = 1;
{$IFDEF BCB} {$EXTERNALSYM OLEVERBATTRIB_ONCONTAINERMENU} {$ENDIF}
OLEVERBATTRIB_ONCONTAINERMENU = 2;
type
{ Result code }
HResult = Longint;
PResultList = ^TResultList;
TResultList = array[0..65535] of HResult;
{ OLE character and string types }
TOleChar = WideChar;
POleStr = PWideChar;
POleStrList = ^TOleStrList;
TOleStrList = array[0..65535] of POleStr;
{ 64-bit large integer }
Largeint = Comp;
{ Globally unique ID }
PGUID = ^TGUID;
TGUID = record
D1: Longint;
D2: Word;
D3: Word;
D4: array[0..7] of Byte;
end;
{ Interface ID }
PIID = PGUID;
TIID = TGUID;
{ Class ID }
PCLSID = PGUID;
TCLSID = TGUID;
{ Object ID }
PObjectID = ^TObjectID;
{$IFDEF BCB} {$EXTERNALSYM _OBJECTID} {$ENDIF}
_OBJECTID = record
Lineage: TGUID;
Uniquifier: Longint;
end;
TObjectID = _OBJECTID;
{$IFDEF BCB} {$EXTERNALSYM OBJECTID} {$ENDIF}
OBJECTID = _OBJECTID;
{ Locale ID }
TLCID = Longint;
{ Forward declarations }
{$IFDEF BCB} {$EXTERNALSYM IStream} {$ENDIF}
IStream = class;
{$IFDEF BCB} {$EXTERNALSYM IRunningObjectTable } {$ENDIF}
IRunningObjectTable = class;
{$IFDEF BCB} {$EXTERNALSYM IEnumString } {$ENDIF}
IEnumString = class;
{$IFDEF BCB} {$EXTERNALSYM IMoniker} {$ENDIF}
IMoniker = class;
{$IFDEF BCB} {$EXTERNALSYM IAdviseSink} {$ENDIF}
IAdviseSink = class;
{$IFDEF BCB} {$EXTERNALSYM IDispatch } {$ENDIF}
IDispatch = class;
{$IFDEF BCB} {$EXTERNALSYM ITypeInfo} {$ENDIF}
ITypeInfo = class;
{$IFDEF BCB} {$EXTERNALSYM ITypeComp } {$ENDIF}
ITypeComp = class;
{$IFDEF BCB} {$EXTERNALSYM ITypeLib} {$ENDIF}
ITypeLib = class;
{$IFDEF BCB} {$EXTERNALSYM IEnumOleVerb } {$ENDIF}
IEnumOleVerb = class;
{$IFDEF BCB} {$EXTERNALSYM IOleInPlaceActiveObject} {$ENDIF}
IOleInPlaceActiveObject = class;
{ IUnknown interface }
//{$IFDEF BCB} {$EXTERNALSYM IUnknown } {$ENDIF}
IUnknown = class
public
function QueryInterface(const iid: TIID; var obj): HResult; virtual; stdcall; abstract;
function AddRef: Longint; virtual; stdcall; abstract;
function Release: Longint; virtual; stdcall; abstract;
end;
{ IClassFactory interface }
{$IFDEF BCB} {$EXTERNALSYM IClassFactory } {$ENDIF}
IClassFactory = class(IUnknown)
public
function CreateInstance(unkOuter: IUnknown; const iid: TIID;
var obj): HResult; virtual; stdcall; abstract;
function LockServer(fLock: BOOL): HResult; virtual; stdcall; abstract;
end;
{ IMarshal interface }
{$IFDEF BCB} {$EXTERNALSYM IMarshal } {$ENDIF}
IMarshal = class(IUnknown)
public
function GetUnmarshalClass(const iid: TIID; pv: Pointer;
dwDestContext: Longint; pvDestContext: Pointer; mshlflags: Longint;
var cid: TCLSID): HResult; virtual; stdcall; abstract;
function GetMarshalSizeMax(const iid: TIID; pv: Pointer;
dwDestContext: Longint; pvDestContext: Pointer; mshlflags: Longint;
var size: Longint): HResult; virtual; stdcall; abstract;
function MarshalInterface(stm: IStream; const iid: TIID; pv: Pointer;
dwDestContext: Longint; pvDestContext: Pointer;
mshlflags: Longint): HResult; virtual; stdcall; abstract;
function UnmarshalInterface(stm: IStream; const iid: TIID;
var pv): HResult; virtual; stdcall; abstract;
function ReleaseMarshalData(stm: IStream): HResult;
virtual; stdcall; abstract;
function DisconnectObject(dwReserved: Longint): HResult;
virtual; stdcall; abstract;
end;
{ IMalloc interface }
{$IFDEF BCB} {$EXTERNALSYM IMalloc} {$ENDIF}
IMalloc = class(IUnknown)
public
function Alloc(cb: Longint): Pointer; virtual; stdcall; abstract;
function Realloc(pv: Pointer; cb: Longint): Pointer; virtual; stdcall; abstract;
procedure Free(pv: Pointer); virtual; stdcall; abstract;
function GetSize(pv: Pointer): Longint; virtual; stdcall; abstract;
function DidAlloc(pv: Pointer): Integer; virtual; stdcall; abstract;
procedure HeapMinimize; virtual; stdcall; abstract;
end;
{ IMallocSpy interface }
{$IFDEF BCB} {$EXTERNALSYM IMallocSpy } {$ENDIF}
IMallocSpy = class(IUnknown)
public
function PreAlloc(cbRequest: Longint): Longint; virtual; stdcall; abstract;
function PostAlloc(pActual: Pointer): Pointer; virtual; stdcall; abstract;
function PreFree(pRequest: Pointer; fSpyed: BOOL): Pointer; virtual; stdcall; abstract;
procedure PostFree(fSpyed: BOOL); virtual; stdcall; abstract;
function PreRealloc(pRequest: Pointer; cbRequest: Longint;
var ppNewRequest: Pointer; fSpyed: BOOL): Longint; virtual; stdcall; abstract;
function PostRealloc(pActual: Pointer; fSpyed: BOOL): Pointer; virtual; stdcall; abstract;
function PreGetSize(pRequest: Pointer; fSpyed: BOOL): Pointer; virtual; stdcall; abstract;
function PostGetSize(pActual: Pointer; fSpyed: BOOL): Longint; virtual; stdcall; abstract;
function PostDidAlloc(pRequest: Pointer; fSpyed: BOOL; fActual: Integer): Integer; virtual; stdcall; abstract;
procedure PreHeapMinimize; virtual; stdcall; abstract;
procedure PostHeapMinimize; virtual; stdcall; abstract;
end;
{ IStdMarshalInfo interface }
{$IFDEF BCB} {$EXTERNALSYM IStdMarshalInfo } {$ENDIF}
IStdMarshalInfo = class(IUnknown)
public
function GetClassForHandler(dwDestContext: Longint; pvDestContext: Pointer;
var clsid: TCLSID): HResult; virtual; stdcall; abstract;
end;
{ IExternalConnection interface }
{$IFDEF BCB} {$EXTERNALSYM IExternalConnection } {$ENDIF}
IExternalConnection = class(IUnknown)
public
function AddConnection(extconn: Longint; reserved: Longint): Longint;
virtual; stdcall; abstract;
function ReleaseConnection(extconn: Longint; reserved: Longint;
fLastReleaseCloses: BOOL): Longint; virtual; stdcall; abstract;
end;
{ IWeakRef interface }
{$IFDEF BCB} {$EXTERNALSYM IWeakRef } {$ENDIF}
IWeakRef = class(IUnknown)
public
function ChangeWeakCount(delta: Longint): Longint; virtual; stdcall; abstract;
function ReleaseKeepAlive(unkReleased: IUnknown;
reserved: Longint): Longint; virtual; stdcall; abstract;
end;
{ IEnumUnknown interface }
{$IFDEF BCB} {$EXTERNALSYM IEnumUnknown } {$ENDIF}
IEnumUnknown = class(IUnknown)
public
function Next(celt: Longint; var elt;
pceltFetched: PLongint): HResult; virtual; stdcall; abstract;
function Skip(celt: Longint): HResult; virtual; stdcall; abstract;
function Reset: HResult; virtual; stdcall; abstract;
function Clone(var enm: IEnumUnknown): HResult; virtual; stdcall; abstract;
end;
{ IBindCtx interface }
PBindOpts = ^TBindOpts;
{$IFDEF BCB} {$EXTERNALSYM tagBIND_OPTS} {$ENDIF}
tagBIND_OPTS = record
cbStruct: Longint;
grfFlags: Longint;
grfMode: Longint;
dwTickCountDeadline: Longint;
end;
TBindOpts = tagBIND_OPTS;
{$IFDEF BCB} {$EXTERNALSYM BIND_OPTS} {$ENDIF}
BIND_OPTS = tagBIND_OPTS;
{$IFDEF BCB} {$EXTERNALSYM IBindCtx } {$ENDIF}
IBindCtx = class(IUnknown)
public
function RegisterObjectBound(unk: IUnknown): HResult; virtual; stdcall; abstract;
function RevokeObjectBound(unk: IUnknown): HResult; virtual; stdcall; abstract;
function ReleaseBoundObjects: HResult; virtual; stdcall; abstract;
function SetBindOptions(var bindopts: TBindOpts): HResult; virtual; stdcall; abstract;
function GetBindOptions(var bindopts: TBindOpts): HResult; virtual; stdcall; abstract;
function GetRunningObjectTable(var rot: IRunningObjectTable): HResult;
virtual; stdcall; abstract;
function RegisterObjectParam(pszKey: POleStr; unk: IUnknown): HResult;
virtual; stdcall; abstract;
function GetObjectParam(pszKey: POleStr; var unk: IUnknown): HResult;
virtual; stdcall; abstract;
function EnumObjectParam(var Enum: IEnumString): HResult; virtual; stdcall; abstract;
function RevokeObjectParam(pszKey: POleStr): HResult; virtual; stdcall; abstract;
end;
{ IEnumMoniker interface }
{$IFDEF BCB} {$EXTERNALSYM IEnumMoniker } {$ENDIF}
IEnumMoniker = class(IUnknown)
public
function Next(celt: Longint; var elt;
pceltFetched: PLongint): HResult; virtual; stdcall; abstract;
function Skip(celt: Longint): HResult; virtual; stdcall; abstract;
function Reset: HResult; virtual; stdcall; abstract;
function Clone(var enm: IEnumMoniker): HResult; virtual; stdcall; abstract;
end;
{ IRunnableObject interface }
{$IFDEF BCB} {$EXTERNALSYM IRunnableObject } {$ENDIF}
IRunnableObject = class(IUnknown)
public
function GetRunningClass(var clsid: TCLSID): HResult; virtual; stdcall; abstract;
function Run(bc: IBindCtx): HResult; virtual; stdcall; abstract;
function IsRunning: BOOL; virtual; stdcall; abstract;
function LockRunning(fLock: BOOL; fLastUnlockCloses: BOOL): HResult;
virtual; stdcall; abstract;
function SetContainedObject(fContained: BOOL): HResult; virtual; stdcall; abstract;
end;
{ IRunningObjectTable interface }
{$IFDEF BCB} {$EXTERNALSYM IRunningObjectTable } {$ENDIF}
IRunningObjectTable = class(IUnknown)
public
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -