Home COM GDI+ WebBrowser Data Access

IMultiLanguage3  Interface

 

IID_IMultiLanguage3

{4E5868AB-B157-4623-9ACC-6A1D9CAEBE04}

 

 

This interface extends IMultiLanguage2 by adding outbound text detection functionality to it.

 

Remarks

This interface is used by applications such as Microsoft Outlook to detect the encoding of outbound messages. Unicode text messages are parsed and the most appropriate encoding is returned.

 

 

Methods in VTable order

IUnknown Methods

Description

QueryInterface

Returns pointers to supported interfaces.

AddRef

Increments reference count.

Release

Decrements reference count.

IMultiLanguage Methods

Description

GetNumberOfCodePageInfo

Returns the number of code pages for which there is information available on the system.

GetCodePageInfo

Retrieves the MIMECPINFO structure corresponding to the code page specified in uiCodePage.

GetFamilyCodePage

Retrieves the family code page identifier value corresponding to uiCodePage.

EnumCodePages

Creates a Code Page Enumeration Object, initializes it with the value specified with grfFlags, and retrieves the corresponding IEnumCodePage interface.

GetCharsetInfo

Retrieves the MIMECSETINFO structure corresponding to the specified character set name.

IsConvertible

Checks if the charset conversion from the source code page to the destination code page can be performed.

ConvertString

Converts the given source string from the source code page to the destination code page.

ConvertStringToUnicode

Translates the source string from the specified code page to Unicode.

ConvertStringFromUnicode

Translates the source Unicode string to the specified multibyte code page.

ConvertStringReset

Not currently implemented.

GetRfc1776FromLcid

Retrieves the RFC1766-conforming name that corresponds to the given locale identifier (LCID).

GetLcidFromRfc1776

Retrieves the locale identifier value (LCID) corresponding to the given RFC1766-conforming name.

EnumRfc1776

Creates a Locale Enumeration Object and retrieves the corresponding IEnumRfc1766 interface.

GetRfc1776Info

Retrieves an RFC1766INFO structure that corresponds to the given locale identifier (LCID) value.

CreateConvertCharset

Creates a charset Conversion object and retrieves its corresponding IMLangConvertCharset interface.

IMultiLanguage2 Methods

Description

ConvertStringInIStream

Converts the given stream from the source code page to the destination code page.

ConvertStringToUnicodeEx

Translates the multibyte string from the specified code page to Unicode.

ConvertStringFromUnicodeEx

Translates the source Unicode string to the specified multibyte code page.

DetectCodePageInIStream

Detects the code page of the given stream.

DetectInputCodepage

Detects the code page of the given string.

ValidateCodePage

Not currently implemented.

GetCodePageDescription

Retrieves the code page description that corresponds to uiCodePage.

IsCodePageInstallable

Not currently implemented.

SetMimeDBSource

Sets the MIME database to be used by MLang.

GetNumberOfScripts

Retrieves the number of scripts.

EnumScripts

Creates a Script Enumeration Object, initializes it with the specified SCRIPTINFO constants, and retrieves the corresponding IEnumScript interface.

ValidateCodePageEx

Not currently implemented.

IMultiLanguage3 Methods

Description

DetectOutboundCodePage

Detects the encoding of outbound Unicode text.

DetectOutboundCodePageInIStream

Detects the encoding of outbound Unicode text. This method resembles IMultiLanguage3::DetectOutboundCodePage, except that the source text is in an IStream object.

 

GetNumberOfCodePageInfo

 

FUNCTION IMultiLanguage3_GetNumberOfCodePageInfo ( _
  BYVAL pthis AS DWORD PTR _
, BYREF pcCodePage AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[3] USING IMultiLanguage3_GetNumberOfCodePageInfo (pthis, pcCodePage) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

GetCodePageInfo

 

FUNCTION IMultiLanguage3_GetCodePageInfo ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL uiCodePage AS DWORD _
, BYREF pcCodePageInfo AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[4] USING IMultiLanguage3_GetCodePageInfo (pthis, uiCodePage, pCodePageInfo) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

GetFamilyCodePage

 

FUNCTION IMultiLanguage3_GetFamilyCodePage ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL uiCodePage AS DWORD _
, BYREF puiFamilyCodePage AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[5] USING IMultiLanguage3_GetFamilyCodePage (pthis, uiCodePage, puiFamilyCodePage) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

EnumCodePages

 

FUNCTION IMultiLanguage3_EnumCodePages ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL grfFlags AS DWORD _
, BYREF ppEnumCodePage AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[6] USING IMultiLanguage3_EnumCodePages (pthis, grfFlags, ppEnumCodePage) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

GetCharsetInfo

 

FUNCTION IMultiLanguage3_GetCharsetInfo ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL Charset AS DWORD _
, BYREF pCharsetInfo AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[7] USING IMultiLanguage3_GetCharsetInfo (pthis, Charset, pCharsetInfo) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

IsConvertible

 

FUNCTION IMultiLanguage3_IsConvertible ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL dwSrcEncoding AS DWORD _
, BYVAL dwDstEncoding AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[8] USING IMultiLanguage3_IsConvertible (pthis, dwSrcEncoding, dwDstEncoding) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

ConvertString

 

FUNCTION IMultiLanguage3_ConvertString ( _
  BYVAL pthis AS DWORD PTR _
, BYREF pdwMode AS DWORD _
, BYVAL dwSrcEncoding AS DWORD _
, BYVAL dwDstEncoding AS DWORD _
, BYVAL pSrcStr AS BYTE PTR _
, BYREF pcSrcSize AS DWORD _
, BYVAL pDstStr AS BYTE PTR _
, BYREF pcDstSize AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[9] USING IMultiLanguage3_ConvertString (pthis, pdwMode, dwSrcEncoding, dwDstEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

ConvertStringToUnicode

 

FUNCTION IMultiLanguage3_ConvertStringToUnicode ( _
  BYVAL pthis AS DWORD PTR _
, BYREF pdwMode AS DWORD _
, BYVAL dwEncoding AS DWORD _
, BYVAL pSrcStr AS DWORD _
, BYREF pcSrcSize AS DWORD _
, BYVAL pDstStr AS DWORD _
, BYREF pcDstSize AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[10] USING IMultiLanguage3_ConvertStringToUnicode (pthis, pdwMode, dwEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

ConvertStringFromUnicode

 

FUNCTION IMultiLanguage3_ConvertStringFromUnicode ( _
  BYVAL pthis AS DWORD PTR _
, BYREF pdwMode AS DWORD _
, BYVAL dwEncoding AS DWORD _
, BYVAL pSrcStr AS DWORD _
, BYREF pcSrcSize AS DWORD _
, BYVAL pDstStr AS DWORD _
, BYREF pcDstSize AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[11] USING IMultiLanguage3_ConvertStringFromUnicode (pthis, pdwMode, dwEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

ConvertStringFromUnicode

 

FUNCTION IMultiLanguage3_ConvertStringReset ( _
  BYVAL pthis AS DWORD PTR _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[12] USING IMultiLanguage3_ConvertStringReset (pthis) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

GetRfc1776FromLcid

 

FUNCTION IMultiLanguage3_GetRfc1776FromLcid ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL Locale AS LONG _
, BYREF pbstrRfc1766 AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[13] USING IMultiLanguage3_GetRfc1776FromLcid (pthis, Locale, pbstrRfc1766) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

GetLcidFromRfc1776

 

FUNCTION IMultiLanguage3_GetLcidFromRfc1776 ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL Locale AS LONG _
, BYVAL pbstrRfc1766 AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[14] USING IMultiLanguage3_GetLcidFromRfc1776 (pthis, Locale, pbstrRfc1766) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

EnumRfc1776

 

FUNCTION IMultiLanguage3_EnumRfc1776 ( _
  BYVAL pthis AS DWORD PTR _
, BYREF ppEnumRfc1766 AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[15] USING IMultiLanguage3_EnumRfc1776 (pthis, ppEnumRfc1766) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

GetRfc1776Info

 

FUNCTION IMultiLanguage3_GetRfc1776Info ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL Locale AS LONG _
, BYREF ppEnumRfc1766 AS PRFC1766INFO _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[16] USING IMultiLanguage3_GetRfc1776Info (pthis, Locale, pRfc1766Info) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

CreateConvertCharset

 

FUNCTION IMultiLanguage3_CreateConvertCharset ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL uiSrcCodePage AS DWORD _
, BYVAL uiDstCodePage AS DWORD _
, BYVAL dwProperty AS DWORD _
, BYREF ppMLangConvertCharset AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[17] USING IMultiLanguage3_CreateConvertCharset (pthis, uiSrcCodePage, uiDstCodePage, dwProperty, ppMLangConvertCharset) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

ConvertStringInIStream

 

FUNCTION IMultiLanguage3_ConvertStringInIStream ( _
  BYVAL pthis AS DWORD PTR _
, BYREF pdwMode AS DWORD _
, BYVAL dwFlag AS DWORD _
, BYVAL lpFallBack AS DWORD _
, BYVAL dwSrcEncoding AS DWORD _
, BYVAL dwDstEncoding AS DWORD _
, BYVAL pstmIn AS DWORD _
, BYVAL pstmOut AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[18] USING IMultiLanguage3_ConvertStringInIStream (pthis, pdwMode, dwFlag, lpFallBack, dwSrcEncoding, dwDstEncoding, pstmIn, pstmOut) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

ConvertStringToUnicodeEx

 

FUNCTION IMultiLanguage3_ConvertStringToUnicodeEx ( _
  BYVAL pthis AS DWORD PTR _
, BYREF pdwMode AS DWORD _
, BYVAL dwEncoding AS DWORD _
, BYVAL pSrcStr AS DWORD _
, BYREF pcSrcSize AS DWORD _
, BYVAL pDstStr AS DWORD _
, BYREF pcDstSize AS DWORD _
, BYVAL dwFlag AS DWORD _
, BYVAL lpFallBack AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[19] USING IMultiLanguage3_ConvertStringToUnicodeEx (pthis, pdwMode, dwEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize, dwFlag, lpFallBack) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

ConvertStringFromUnicodeEx

 

FUNCTION IMultiLanguage3_ConvertStringFromUnicodeEx ( _
  BYVAL pthis AS DWORD PTR _
, BYREF pdwMode AS DWORD _
, BYVAL dwEncoding AS DWORD _
, BYVAL pSrcStr AS DWORD _
, BYREF pcSrcSize AS DWORD _
, BYVAL pDstStr AS DWORD _
, BYREF pcDstSize AS DWORD _
, BYVAL dwFlag AS DWORD _
, BYVAL lpFallBack AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[20] USING IMultiLanguage3_ConvertStringFromUnicodeEx (pthis, pdwMode, dwEncoding, pSrcStr, pcSrcSize, pDstStr, pcDstSize, dwFlag, lpFallBack) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

DetectCodepageInIStream

 

FUNCTION IMultiLanguage3_DetectCodepageInIStream ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL dwFlag AS DWORD _
, BYVAL dwPrefWinCodePage AS DWORD _
, BYVAL pstmIn AS DWORD _
, BYREF lpEncoding AS DWORD _
, BYREF pnScores AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[21] USING IMultiLanguage3_DetectCodepageInIStream (pthis, dwFlag, dwPrefWinCodePage, pstmIn, lpEncoding, pnScores) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

DetectInputCodepage

 

FUNCTION IMultiLanguage3_DetectInputCodepage ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL dwFlag AS DWORD _
, BYVAL dwPrefWinCodePage AS DWORD _
, BYVAL pSrcStr AS DWORD _
, BYREF pcSrcSize AS LONG _
, BYREF lpEncoding AS DWORD _
, BYREF pnScores AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[22] USING IMultiLanguage3_DetectInputCodepage (pthis, dwFlag, dwPrefWinCodePage, pSrcStr, pcSrcSize, lpEncoding, pnScores) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

ValidateCodePage

 

FUNCTION IMultiLanguage3_ValidateCodePage ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL uiCodePage AS DWORD _
, BYVAL hwnd AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[23] USING IMultiLanguage3_ValidateCodePage (pthis, uiCodePage, hwnd) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

GetCodePageDescription

 

FUNCTION IMultiLanguage3_GetCodePageDescription ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL uiCodePage AS DWORD _
, BYVAL lcid AS LONG _
, BYREF lpWideCharStr AS DWORD _
, BYVAL cchWideChar AS LONG _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[24] USING IMultiLanguage3_GetCodePageDescription (pthis, uiCodePage, lcid, lpWideCharStr, cchWideChar) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

IsCodePageInstallable

 

FUNCTION IMultiLanguage3_IsCodePageInstallable ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL uiCodePage AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[25] USING IMultiLanguage3_IsCodePageInstallable (pthis, uiCodePage) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

SetMimeDBSource

 

FUNCTION IMultiLanguage3_SetMimeDBSource ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL dwSource AS LONG _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[26] USING IMultiLanguage3_SetMimeDBSource (pthis, dwSource) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

GetNumberOfScripts

 

FUNCTION IMultiLanguage3_GetNumberOfScripts ( _
  BYVAL pthis AS DWORD PTR _
, BYREF pnScripts AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[27] USING IMultiLanguage3_GetNumberOfScripts (pthis, pnScripts) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

EnumScripts

 

FUNCTION IMultiLanguage3_EnumScripts ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL dwFlags AS DWORD _
, BYVAL LangId AS WORD _
, BYREF ppEnumScript AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[28] USING IMultiLanguage3_EnumScripts (pthis, dwFlags, LangId, ppEnumScript) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

ValidateCodePageEx

 

FUNCTION IMultiLanguage3_ValidateCodePageEx ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL uiCodePage AS DWORD _
, BYVAL hwnd AS DWORD _
, BYVAL dwfIODControl AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[29] USING IMultiLanguage3_ValidateCodePageEx (pthis, uiCodePage, hwnd, dwfIODControl) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

DetectOutboundCodePage

 

FUNCTION IMultiLanguage3_DetectOutboundCodePage ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL dwFlags AS DWORD _
, BYVAL lpWideCharStr AS DWORD _
, BYVAL cchWideChar AS DWORD _
, BYVAL puiPreferredCodePages AS DWORD _
, BYVAL nPreferredCodePages AS DWORD _
, BYVAL puiDetectedCodePages AS DWORD _
, BYREF pnDetectedCodePages AS DWORD _
, BYVAL lpSpecialChar AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[30] USING IMultiLanguage3_DetectOutboundCodePage (pthis, dwFlags, lpWideCharStr, cchWideChar, puiPreferredCodePages, nPreferredCodePages, puiDetectedCodePages, pnDetectedCodePages, lpSpecialChar) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

DetectOutboundCodePageInIStream

 

FUNCTION IMultiLanguage3_DetectPutboundCodePageInIStream ( _
  BYVAL pthis AS DWORD PTR _
, BYVAL dwFlags AS DWORD _
, BYVAL pStrIn AS DWORD _
, BYVAL puiPreferredCodePages AS DWORD _
, BYVAL nPreferredCodePages AS DWORD _
, BYVAL puiDetectedCodePages AS DWORD _
, BYREF pnDetectedCodePages AS DWORD _
, BYVAL lpSpecialChar AS DWORD _
  ) AS LONG

  LOCAL HRESULT AS LONG

  CALL DWORD @@pthis[31] USING IMultiLanguage3_DetectOutboundCodePageInIStream (pthis, dwFlags, pStrIn, puiPreferredCodePages, nPreferredCodePages, puiDetectedCodePages, pnDetectedCodePages, lpSpecialChar) TO HRESULT

  FUNCTION = HRESULT

END FUNCTION

 

 

Page last updated on Monday, 03 April 2006 20:02:57 +0200