📄 multilanguage_tlb.pas
字号:
function GetCharsetInfo(const Charset: WideString; out pCharsetInfo: tagMIMECSETINFO): HResult; stdcall;
function IsConvertible(dwSrcEncoding: LongWord; dwDstEncoding: LongWord): HResult; stdcall;
function ConvertString(var pdwMode: LongWord; dwSrcEncoding: LongWord; dwDstEncoding: LongWord;
var pSrcStr: Byte; var pcSrcSize: SYSUINT; var pDstStr: Byte;
var pcDstSize: SYSUINT): HResult; stdcall;
function ConvertStringToUnicode(var pdwMode: LongWord; dwEncoding: LongWord;
var pSrcStr: Shortint; var pcSrcSize: SYSUINT;
var pDstStr: Smallint; var pcDstSize: SYSUINT): HResult; stdcall;
function ConvertStringFromUnicode(var pdwMode: LongWord; dwEncoding: LongWord;
var pSrcStr: Smallint; var pcSrcSize: SYSUINT;
var pDstStr: Shortint; var pcDstSize: SYSUINT): HResult; stdcall;
function ConvertStringReset: HResult; stdcall;
function GetRfc1766FromLcid(locale: LongWord; out pbstrRfc1766: WideString): HResult; stdcall;
function GetLcidFromRfc1766(out plocale: LongWord; const bstrRfc1766: WideString): HResult; stdcall;
function EnumRfc1766(LangId: Word; out ppEnumRfc1766: IEnumRfc1766): HResult; stdcall;
function GetRfc1766Info(locale: LongWord; LangId: Word; out pRfc1766Info: tagRFC1766INFO): HResult; stdcall;
function CreateConvertCharset(uiSrcCodePage: SYSUINT; uiDstCodePage: SYSUINT;
dwProperty: LongWord;
out ppMLangConvertCharset: IMLangConvertCharset): HResult; stdcall;
function ConvertStringInIStream(var pdwMode: LongWord; dwFlag: LongWord;
var lpFallBack: Smallint; dwSrcEncoding: LongWord;
dwDstEncoding: LongWord; const pstmIn: IStream;
const pstmOut: IStream): HResult; stdcall;
function ConvertStringToUnicodeEx(var pdwMode: LongWord; dwEncoding: LongWord;
var pSrcStr: Shortint; var pcSrcSize: SYSUINT;
var pDstStr: Smallint; var pcDstSize: SYSUINT;
dwFlag: LongWord; var lpFallBack: Smallint): HResult; stdcall;
function ConvertStringFromUnicodeEx(var pdwMode: LongWord; dwEncoding: LongWord;
var pSrcStr: Smallint; var pcSrcSize: SYSUINT;
var pDstStr: Shortint; var pcDstSize: SYSUINT;
dwFlag: LongWord; var lpFallBack: Smallint): HResult; stdcall;
function DetectCodepageInIStream(dwFlag: LongWord; dwPrefWinCodePage: LongWord;
const pstmIn: IStream; var lpEncoding: tagDetectEncodingInfo;
var pnScores: SYSINT): HResult; stdcall;
function DetectInputCodepage(dwFlag: LongWord; dwPrefWinCodePage: LongWord;
var pSrcStr: Shortint; var pcSrcSize: SYSINT;
var lpEncoding: tagDetectEncodingInfo; var pnScores: SYSINT): HResult; stdcall;
function ValidateCodePage(uiCodePage: SYSUINT; var hwnd: _RemotableHandle): HResult; stdcall;
function GetCodePageDescription(uiCodePage: SYSUINT; lcid: LongWord; lpWideCharStr: PWideChar;
cchWideChar: SYSINT): HResult; stdcall;
function IsCodePageInstallable(uiCodePage: SYSUINT): HResult; stdcall;
function SetMimeDBSource(dwSource: tagMIMECONTF): HResult; stdcall;
function GetNumberOfScripts(out pnScripts: SYSUINT): HResult; stdcall;
function EnumScripts(dwFlags: LongWord; LangId: Word; out ppEnumScript: IEnumScript): HResult; stdcall;
function ValidateCodePageEx(uiCodePage: SYSUINT; var hwnd: _RemotableHandle;
dwfIODControl: LongWord): HResult; stdcall;
end;
// *********************************************************************//
// Interface: ISequentialStream
// Flags: (0)
// GUID: {0C733A30-2A1C-11CE-ADE5-00AA0044773D}
// *********************************************************************//
ISequentialStream = interface(IUnknown)
['{0C733A30-2A1C-11CE-ADE5-00AA0044773D}']
function RemoteRead(out pv: Byte; cb: LongWord; out pcbRead: LongWord): HResult; stdcall;
function RemoteWrite(var pv: Byte; cb: LongWord; out pcbWritten: LongWord): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IStream
// Flags: (0)
// GUID: {0000000C-0000-0000-C000-000000000046}
// *********************************************************************//
IStream = interface(ISequentialStream)
['{0000000C-0000-0000-C000-000000000046}']
function GhostMethod_IStream_0_1: HResult; stdcall;
function GhostMethod_IStream_4_2: HResult; stdcall;
function GhostMethod_IStream_8_3: HResult; stdcall;
function GhostMethod_IStream_12_4: HResult; stdcall;
function GhostMethod_IStream_16_5: HResult; stdcall;
function RemoteSeek(dlibMove: _LARGE_INTEGER; dwOrigin: LongWord;
out plibNewPosition: _ULARGE_INTEGER): HResult; stdcall;
function SetSize(libNewSize: _ULARGE_INTEGER): HResult; stdcall;
function RemoteCopyTo(const pstm: IStream; cb: _ULARGE_INTEGER; out pcbRead: _ULARGE_INTEGER;
out pcbWritten: _ULARGE_INTEGER): HResult; stdcall;
function Commit(grfCommitFlags: LongWord): HResult; stdcall;
function Revert: HResult; stdcall;
function LockRegion(libOffset: _ULARGE_INTEGER; cb: _ULARGE_INTEGER; dwLockType: LongWord): HResult; stdcall;
function UnlockRegion(libOffset: _ULARGE_INTEGER; cb: _ULARGE_INTEGER; dwLockType: LongWord): HResult; stdcall;
function Stat(out pstatstg: tagSTATSTG; grfStatFlag: LongWord): HResult; stdcall;
function Clone(out ppstm: IStream): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IMLangCodePages
// Flags: (0)
// GUID: {359F3443-BD4A-11D0-B188-00AA0038C969}
// *********************************************************************//
IMLangCodePages = interface(IUnknown)
['{359F3443-BD4A-11D0-B188-00AA0038C969}']
function GetCharCodePages(chSrc: Smallint; out pdwCodePages: LongWord): HResult; stdcall;
function GetStrCodePages(var pszSrc: Smallint; cchSrc: Integer; dwPriorityCodePages: LongWord;
out pdwCodePages: LongWord; out pcchCodePages: Integer): HResult; stdcall;
function CodePageToCodePages(uCodePage: SYSUINT; out pdwCodePages: LongWord): HResult; stdcall;
function CodePagesToCodePage(dwCodePages: LongWord; uDefaultCodePage: SYSUINT;
out puCodePage: SYSUINT): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IMLangFontLink
// Flags: (0)
// GUID: {359F3441-BD4A-11D0-B188-00AA0038C969}
// *********************************************************************//
IMLangFontLink = interface(IMLangCodePages)
['{359F3441-BD4A-11D0-B188-00AA0038C969}']
function GetFontCodePages(var hDC: _RemotableHandle; var hFont: _RemotableHandle;
out pdwCodePages: LongWord): HResult; stdcall;
function MapFont(var hDC: _RemotableHandle; dwCodePages: LongWord;
var hSrcFont: _RemotableHandle; out phDestFont: wireHFONT): HResult; stdcall;
function ReleaseFont(var hFont: _RemotableHandle): HResult; stdcall;
function ResetFontMapping: HResult; stdcall;
end;
// *********************************************************************//
// Interface: IMLangFontLink2
// Flags: (0)
// GUID: {DCCFC162-2B38-11D2-B7EC-00C04F8F5D9A}
// *********************************************************************//
IMLangFontLink2 = interface(IMLangCodePages)
['{DCCFC162-2B38-11D2-B7EC-00C04F8F5D9A}']
function GetFontCodePages(var hDC: _RemotableHandle; var hFont: _RemotableHandle;
out pdwCodePages: LongWord): HResult; stdcall;
function ReleaseFont(var hFont: _RemotableHandle): HResult; stdcall;
function ResetFontMapping: HResult; stdcall;
function MapFont(var hDC: _RemotableHandle; dwCodePages: LongWord; chSrc: Smallint;
out pFont: wireHFONT): HResult; stdcall;
function GetFontUnicodeRanges(var hDC: _RemotableHandle; var puiRanges: SYSUINT;
out pUranges: tagUNICODERANGE): HResult; stdcall;
function GetScriptFontInfo(sid: Byte; dwFlags: LongWord; var puiFonts: SYSUINT;
out pScriptFont: tagSCRIPFONTINFO): HResult; stdcall;
function CodePageToScriptID(uiCodePage: SYSUINT; out pSid: Byte): HResult; stdcall;
end;
// *********************************************************************//
// Interface: IMultiLanguage3
// Flags: (0)
// GUID: {4E5868AB-B157-4623-9ACC-6A1D9CAEBE04}
// *********************************************************************//
IMultiLanguage3 = interface(IMultiLanguage2)
['{4E5868AB-B157-4623-9ACC-6A1D9CAEBE04}']
function DetectOutboundCodePage(dwFlags: LongWord; lpWideCharStr: PWideChar;
cchWideChar: SYSUINT; var puiPreferredCodePages: SYSUINT;
nPreferredCodePages: SYSUINT;
var puiDetectedCodePages: SYSUINT;
var pnDetectedCodePages: SYSUINT; var lpSpecialChar: Smallint): HResult; stdcall;
function DetectOutboundCodePageInIStream(dwFlags: LongWord; const pStrIn: IStream;
var puiPreferredCodePages: SYSUINT;
nPreferredCodePages: SYSUINT;
var puiDetectedCodePages: SYSUINT;
var pnDetectedCodePages: SYSUINT;
var lpSpecialChar: Smallint): HResult; stdcall;
end;
// *********************************************************************//
// The Class CoCMLangString provides a Create and CreateRemote method to
// create instances of the default interface IMLangString exposed by
// the CoClass CMLangString. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoCMLangString = class
class function Create: IMLangString;
class function CreateRemote(const MachineName: string): IMLangString;
end;
// *********************************************************************//
// The Class CoCMLangConvertCharset provides a Create and CreateRemote method to
// create instances of the default interface IMLangConvertCharset exposed by
// the CoClass CMLangConvertCharset. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoCMLangConvertCharset = class
class function Create: IMLangConvertCharset;
class function CreateRemote(const MachineName: string): IMLangConvertCharset;
end;
// *********************************************************************//
// The Class CoCMultiLanguage provides a Create and CreateRemote method to
// create instances of the default interface IMultiLanguage exposed by
// the CoClass CMultiLanguage. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoCMultiLanguage = class
class function Create: IMultiLanguage;
class function CreateRemote(const MachineName: string): IMultiLanguage;
end;
implementation
uses ComObj;
class function CoCMLangString.Create: IMLangString;
begin
Result := CreateComObject(CLASS_CMLangString) as IMLangString;
end;
class function CoCMLangString.CreateRemote(const MachineName: string): IMLangString;
begin
Result := CreateRemoteComObject(MachineName, CLASS_CMLangString) as IMLangString;
end;
class function CoCMLangConvertCharset.Create: IMLangConvertCharset;
begin
Result := CreateComObject(CLASS_CMLangConvertCharset) as IMLangConvertCharset;
end;
class function CoCMLangConvertCharset.CreateRemote(const MachineName: string): IMLangConvertCharset;
begin
Result := CreateRemoteComObject(MachineName, CLASS_CMLangConvertCharset) as IMLangConvertCharset;
end;
class function CoCMultiLanguage.Create: IMultiLanguage;
begin
Result := CreateComObject(CLASS_CMultiLanguage) as IMultiLanguage;
end;
class function CoCMultiLanguage.CreateRemote(const MachineName: string): IMultiLanguage;
begin
Result := CreateRemoteComObject(MachineName, CLASS_CMultiLanguage) as IMultiLanguage;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -