📄 mmole2.pas
字号:
function Register(grfFlags: Longint; var unkObject: IUnknown;
mkObjectName: IMoniker; var dwRegister: Longint): HResult; virtual; stdcall; abstract;
function Revoke(dwRegister: Longint): HResult; virtual; stdcall; abstract;
function IsRunning(mkObjectName: IMoniker): HResult; virtual; stdcall; abstract;
function GetObject(mkObjectName: IMoniker;
var unkObject: IUnknown): HResult; virtual; stdcall; abstract;
function NoteChangeTime(dwRegister: Longint;
var filetime: TFileTime): HResult; virtual; stdcall; abstract;
function GetTimeOfLastChange(mkObjectName: IMoniker;
var filetime: TFileTime): HResult; virtual; stdcall; abstract;
function EnumRunning(var enumMoniker: IEnumMoniker): HResult; virtual; stdcall; abstract;
end;
{ IPersist interface }
{$IFDEF BCB} {$EXTERNALSYM IPersist } {$ENDIF}
IPersist = class(IUnknown)
public
function GetClassID(var classID: TCLSID): HResult; virtual; stdcall; abstract;
end;
{ IPersistStream interface }
{$IFDEF BCB} {$EXTERNALSYM IPersistStream } {$ENDIF}
IPersistStream = class(IPersist)
public
function IsDirty: HResult; virtual; stdcall; abstract;
function Load(stm: IStream): HResult; virtual; stdcall; abstract;
function Save(stm: IStream; fClearDirty: BOOL): HResult; virtual; stdcall; abstract;
function GetSizeMax(var cbSize: Largeint): HResult; virtual; stdcall; abstract;
end;
{ IMoniker interface }
{$IFDEF BCB} {$EXTERNALSYM IMoniker} {$ENDIF}
IMoniker = class(IPersistStream)
public
function BindToObject(bc: IBindCtx; mkToLeft: IMoniker;
const iidResult: TIID; var vResult): HResult; virtual; stdcall; abstract;
function BindToStorage(bc: IBindCtx; mkToLeft: IMoniker;
const iid: TIID; var vObj): HResult; virtual; stdcall; abstract;
function Reduce(bc: IBindCtx; dwReduceHowFar: Longint;
var mkToLeft: IMoniker; var mkReduced: IMoniker): HResult; virtual; stdcall; abstract;
function ComposeWith(mkRight: IMoniker; fOnlyIfNotGeneric: BOOL;
var mkComposite: IMoniker): HResult; virtual; stdcall; abstract;
function Enum(fForward: BOOL; var enumMoniker: IEnumMoniker): HResult;
virtual; stdcall; abstract;
function IsEqual(mkOtherMoniker: IMoniker): HResult; virtual; stdcall; abstract;
function Hash(var dwHash: Longint): HResult; virtual; stdcall; abstract;
function IsRunning(bc: IBindCtx; mkToLeft: IMoniker;
mkNewlyRunning: IMoniker): HResult; virtual; stdcall; abstract;
function GetTimeOfLastChange(bc: IBindCtx; mkToLeft: IMoniker;
var filetime: TFileTime): HResult; virtual; stdcall; abstract;
function Inverse(var mk: IMoniker): HResult; virtual; stdcall; abstract;
function CommonPrefixWith(mkOther: IMoniker;
var mkPrefix: IMoniker): HResult; virtual; stdcall; abstract;
function RelativePathTo(mkOther: IMoniker;
var mkRelPath: IMoniker): HResult; virtual; stdcall; abstract;
function GetDisplayName(bc: IBindCtx; mkToLeft: IMoniker;
var pszDisplayName: POleStr): HResult; virtual; stdcall; abstract;
function ParseDisplayName(bc: IBindCtx; mkToLeft: IMoniker;
pszDisplayName: POleStr; var chEaten: Longint;
var mkOut: IMoniker): HResult; virtual; stdcall; abstract;
function IsSystemMoniker(var dwMksys: Longint): HResult; virtual; stdcall; abstract;
end;
{ IEnumString interface }
{$IFDEF BCB} {$EXTERNALSYM IEnumString } {$ENDIF}
IEnumString = 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: IEnumString): HResult; virtual; stdcall; abstract;
end;
{ IStream interface }
PStatStg = ^TStatStg;
{$IFDEF BCB} {$EXTERNALSYM tagSTATSTG} {$ENDIF}
tagSTATSTG = record
pwcsName: POleStr;
dwType: Longint;
cbSize: Largeint;
mtime: TFileTime;
ctime: TFileTime;
atime: TFileTime;
grfMode: Longint;
grfLocksSupported: Longint;
clsid: TCLSID;
grfStateBits: Longint;
reserved: Longint;
end;
TStatStg = tagSTATSTG;
{$IFDEF BCB} {$EXTERNALSYM STATSTG} {$ENDIF}
STATSTG = tagSTATSTG;
{$IFDEF BCB} {$EXTERNALSYM IStream} {$ENDIF}
IStream = class(IUnknown)
public
function Read(pv: Pointer; cb: Longint; pcbRead: PLongint): HResult;
virtual; stdcall; abstract;
function Write(pv: Pointer; cb: Longint; pcbWritten: PLongint): HResult;
virtual; stdcall; abstract;
function Seek(dlibMove: Largeint; dwOrigin: Longint;
var libNewPosition: Largeint): HResult; virtual; stdcall; abstract;
function SetSize(libNewSize: Largeint): HResult; virtual; stdcall; abstract;
function CopyTo(stm: IStream; cb: Largeint; var cbRead: Largeint;
var cbWritten: Largeint): HResult; virtual; stdcall; abstract;
function Commit(grfCommitFlags: Longint): HResult; virtual; stdcall; abstract;
function Revert: HResult; virtual; stdcall; abstract;
function LockRegion(libOffset: Largeint; cb: Largeint;
dwLockType: Longint): HResult; virtual; stdcall; abstract;
function UnlockRegion(libOffset: Largeint; cb: Largeint;
dwLockType: Longint): HResult; virtual; stdcall; abstract;
function Stat(var statstg: TStatStg; grfStatFlag: Longint): HResult;
virtual; stdcall; abstract;
function Clone(var stm: IStream): HResult; virtual; stdcall; abstract;
end;
{ IEnumStatStg interface }
{$IFDEF BCB} {$EXTERNALSYM IEnumStatStg } {$ENDIF}
IEnumStatStg = 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: IEnumStatStg): HResult; virtual; stdcall; abstract;
end;
{ IStorage interface }
TSNB = ^POleStr;
{$IFDEF BCB} {$EXTERNALSYM IStorage} {$ENDIF}
IStorage = class(IUnknown)
public
function CreateStream(pwcsName: POleStr; grfMode: Longint; reserved1: Longint;
reserved2: Longint; var stm: IStream): HResult; virtual; stdcall; abstract;
function OpenStream(pwcsName: POleStr; reserved1: Pointer; grfMode: Longint;
reserved2: Longint; var stm: IStream): HResult; virtual; stdcall; abstract;
function CreateStorage(pwcsName: POleStr; grfMode: Longint;
dwStgFmt: Longint; reserved2: Longint; var stg: IStorage): HResult;
virtual; stdcall; abstract;
function OpenStorage(pwcsName: POleStr; stgPriority: IStorage;
grfMode: Longint; snbExclude: TSNB; reserved: Longint;
var stg: IStorage): HResult; virtual; stdcall; abstract;
function CopyTo(ciidExclude: Longint; rgiidExclude: PIID;
snbExclude: TSNB; stgDest: IStorage): HResult; virtual; stdcall; abstract;
function MoveElementTo(pwcsName: POleStr; stgDest: IStorage;
pwcsNewName: POleStr; grfFlags: Longint): HResult; virtual; stdcall; abstract;
function Commit(grfCommitFlags: Longint): HResult; virtual; stdcall; abstract;
function Revert: HResult; virtual; stdcall; abstract;
function EnumElements(reserved1: Longint; reserved2: Pointer; reserved3: Longint;
var enm: IEnumStatStg): HResult; virtual; stdcall; abstract;
function DestroyElement(pwcsName: POleStr): HResult; virtual; stdcall; abstract;
function RenameElement(pwcsOldName: POleStr;
pwcsNewName: POleStr): HResult; virtual; stdcall; abstract;
function SetElementTimes(pwcsName: POleStr; const ctime: TFileTime;
const atime: TFileTime; const mtime: TFileTime): HResult;
virtual; stdcall; abstract;
function SetClass(const clsid: TCLSID): HResult; virtual; stdcall; abstract;
function SetStateBits(grfStateBits: Longint; grfMask: Longint): HResult;
virtual; stdcall; abstract;
function Stat(var statstg: TStatStg; grfStatFlag: Longint): HResult;
virtual; stdcall; abstract;
end;
{ IPersistFile interface }
{$IFDEF BCB} {$EXTERNALSYM IPersistFile } {$ENDIF}
IPersistFile = class(IPersist)
public
function IsDirty: HResult; virtual; stdcall; abstract;
function Load(pszFileName: POleStr; dwMode: Longint): HResult;
virtual; stdcall; abstract;
function Save(pszFileName: POleStr; fRemember: BOOL): HResult;
virtual; stdcall; abstract;
function SaveCompleted(pszFileName: POleStr): HResult;
virtual; stdcall; abstract;
function GetCurFile(var pszFileName: POleStr): HResult;
virtual; stdcall; abstract;
end;
{ IPersistStorage interface }
{$IFDEF BCB} {$EXTERNALSYM IPersistStorage } {$ENDIF}
IPersistStorage = class(IPersist)
public
function IsDirty: HResult; virtual; stdcall; abstract;
function InitNew(stg: IStorage): HResult; virtual; stdcall; abstract;
function Load(stg: IStorage): HResult; virtual; stdcall; abstract;
function Save(stgSave: IStorage; fSameAsLoad: BOOL): HResult;
virtual; stdcall; abstract;
function SaveCompleted(stgNew: IStorage): HResult; virtual; stdcall; abstract;
function HandsOffStorage: HResult; virtual; stdcall; abstract;
end;
{ ILockBytes interface }
{$IFDEF BCB} {$EXTERNALSYM ILockBytes} {$ENDIF}
ILockBytes = class(IUnknown)
public
function ReadAt(ulOffset: Largeint; pv: Pointer; cb: Longint;
pcbRead: PLongint): HResult; virtual; stdcall; abstract;
function WriteAt(ulOffset: Largeint; pv: Pointer; cb: Longint;
pcbWritten: PLongint): HResult; virtual; stdcall; abstract;
function Flush: HResult; virtual; stdcall; abstract;
function SetSize(cb: Largeint): HResult; virtual; stdcall; abstract;
function LockRegion(libOffset: Largeint; cb: Largeint;
dwLockType: Longint): HResult; virtual; stdcall; abstract;
function UnlockRegion(libOffset: Largeint; cb: Largeint;
dwLockType: Longint): HResult; virtual; stdcall; abstract;
function Stat(var statstg: TStatStg; grfStatFlag: Longint): HResult;
virtual; stdcall; abstract;
end;
{ IEnumFormatEtc interface }
PDVTargetDevice = ^TDVTargetDevice;
{$IFDEF BCB} {$EXTERNALSYM tagDVTARGETDEVICE} {$ENDIF}
tagDVTARGETDEVICE = record
tdSize: Longint;
tdDriverNameOffset: Word;
tdDeviceNameOffset: Word;
tdPortNameOffset: Word;
tdExtDevmodeOffset: Word;
tdData: record end;
end;
TDVTargetDevice = tagDVTARGETDEVICE;
{$IFDEF BCB} {$EXTERNALSYM DVTARGETDEVICE} {$ENDIF}
DVTARGETDEVICE = tagDVTARGETDEVICE;
PClipFormat = ^TClipFormat;
TClipFormat = Word;
PFormatEtc = ^TFormatEtc;
{$IFDEF BCB} {$EXTERNALSYM tagFORMATETC} {$ENDIF}
tagFORMATETC = record
cfFormat: TClipFormat;
ptd: PDVTargetDevice;
dwAspect: Longint;
lindex: Longint;
tymed: Longint;
end;
TFormatEtc = tagFORMATETC;
{$IFDEF BCB} {$EXTERNALSYM FORMATETC} {$ENDIF}
FORMATETC = tagFORMATETC;
{$IFDEF BCB} {$EXTERNALSYM IEnumFormatEtc } {$ENDIF}
IEnumFormatEtc = 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 Enum: IEnumFormatEtc): HResult; virtual; stdcall; abstract;
end;
{ IEnumStatData interface }
PStatData = ^TStatData;
{$IFDEF BCB} {$EXTERNALSYM tagSTATDATA} {$ENDIF}
tagSTATDATA = record
formatetc: TFormatEtc;
advf: Longint;
advSink: IAdviseSink;
dwConnection: Longint;
end;
TStatData = tagSTATDATA;
{$IFDEF BCB} {$EXTERNALSYM STATDATA} {$ENDIF}
STATDATA = tagSTATDATA;
{$IFDEF BCB} {$EXTERNALSYM IEnumStatData } {$ENDIF}
IEnumStatData = 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 Enum: IEnumStatData): HResult; virtual; stdcall; abstract;
end;
{ IRootStorage interface }
{$IFDEF BCB} {$EXTERNALSYM IRootStorage } {$ENDIF}
IRootStorage = class(IUnknown)
public
function SwitchToFile(pszFile: POleStr): HResult; virtual; stdcall; abstract;
end;
{ IAdviseSink interface }
PRemStgMedium = ^TRemStgMedium;
{$IFDEF BCB} {$EXTERNALSYM tagRemSTGMEDIUM} {$ENDIF}
tagRemSTGMEDIUM = record
tymed: Longint;
dwHandleType: Longint;
pData: Longint;
pUnkForRelease: Longint;
cbData: Longint;
data: record end;
end;
TRemStgMedium = tagRemSTGMEDIUM;
{$IFDEF BCB} {$EXTERNALSYM RemSTGMEDIUM} {$ENDIF}
RemSTGMEDIUM = tagRemSTGMEDIUM;
PStgMedium = ^TStgMedium;
{$IFDEF BCB} {$EXTERNALSYM tagSTGMEDIUM} {$ENDIF}
tagSTGMEDIUM = record
tymed: Longint;
case Integer of
0: (hBitmap: HBitmap; unkForRelease: IUnknown);
1: (hMetaFilePict: THandle);
2: (hEnhMetaFile: THandle);
3: (hGlobal: HGlobal);
4: (lpszFileName: POleStr);
5: (stm: IStream);
6: (stg: IStorage);
end;
TStgMedium = tagSTGMEDIUM;
{$IFDEF BCB} {$EXTERNALSYM STGMEDIUM} {$ENDIF}
STGMEDIUM = tagSTGMEDIUM;
{$IFDEF BCB} {$EXTERNALSYM IAdviseSink} {$ENDIF}
IAdviseSink = class(IUnknown)
public
procedure OnDataChange(var formatetc: TFormatEtc; var stgmed: TStgMedium);
virtual; stdcall; abstract;
procedure OnViewChange(dwAspect: Longint; lindex: Longint);
virtual; stdcall; abstract;
procedure OnRename(mk: IMoniker); virtual; stdcall; abstract;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -