mirror of https://github.com/UMSKT/xpmgr.git
162 lines
5.6 KiB
Plaintext
162 lines
5.6 KiB
Plaintext
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992-2000.
|
|
//
|
|
// File: InputScope.idl
|
|
//
|
|
// Contents: InputScope declarations.
|
|
//
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
cpp_quote("//=--------------------------------------------------------------------------=")
|
|
cpp_quote("// InputScope.h")
|
|
cpp_quote("")
|
|
cpp_quote("")
|
|
cpp_quote("// InputScope declarations.")
|
|
cpp_quote("")
|
|
cpp_quote("//=--------------------------------------------------------------------------=")
|
|
cpp_quote("// (C) Copyright 1995-2003 Microsoft Corporation. All Rights Reserved.")
|
|
cpp_quote("//")
|
|
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
|
|
cpp_quote("// ANY KIND, EITHER EXPRESSED OR TFPLIED, INCLUDING BUT NOT LIMITED TO")
|
|
cpp_quote("// THE TFPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
|
|
cpp_quote("// PARTICULAR PURPOSE.")
|
|
cpp_quote("//=--------------------------------------------------------------------------=")
|
|
cpp_quote("")
|
|
|
|
cpp_quote("#ifndef INPUTSCOPE_DEFINED")
|
|
cpp_quote("#define INPUTSCOPE_DEFINED")
|
|
cpp_quote("")
|
|
cpp_quote("#include <windows.h>")
|
|
cpp_quote("")
|
|
cpp_quote("#ifdef __cplusplus")
|
|
cpp_quote("extern \"C\" {")
|
|
cpp_quote("#endif /* __cplusplus */")
|
|
cpp_quote("")
|
|
|
|
|
|
typedef enum
|
|
{
|
|
// common input scopes
|
|
IS_DEFAULT = 0,
|
|
IS_URL = 1,
|
|
IS_FILE_FULLFILEPATH = 2,
|
|
IS_FILE_FILENAME = 3,
|
|
IS_EMAIL_USERNAME = 4,
|
|
IS_EMAIL_SMTPEMAILADDRESS = 5,
|
|
IS_LOGINNAME = 6,
|
|
IS_PERSONALNAME_FULLNAME = 7,
|
|
IS_PERSONALNAME_PREFIX = 8,
|
|
IS_PERSONALNAME_GIVENNAME = 9,
|
|
IS_PERSONALNAME_MIDDLENAME = 10,
|
|
IS_PERSONALNAME_SURNAME = 11,
|
|
IS_PERSONALNAME_SUFFIX = 12,
|
|
IS_ADDRESS_FULLPOSTALADDRESS = 13,
|
|
IS_ADDRESS_POSTALCODE = 14,
|
|
IS_ADDRESS_STREET = 15,
|
|
IS_ADDRESS_STATEORPROVINCE = 16,
|
|
IS_ADDRESS_CITY = 17,
|
|
IS_ADDRESS_COUNTRYNAME = 18,
|
|
IS_ADDRESS_COUNTRYSHORTNAME = 19,
|
|
IS_CURRENCY_AMOUNTANDSYMBOL = 20,
|
|
IS_CURRENCY_AMOUNT = 21,
|
|
IS_DATE_FULLDATE = 22,
|
|
IS_DATE_MONTH = 23,
|
|
IS_DATE_DAY = 24,
|
|
IS_DATE_YEAR = 25,
|
|
IS_DATE_MONTHNAME = 26,
|
|
IS_DATE_DAYNAME = 27,
|
|
IS_DIGITS = 28,
|
|
IS_NUMBER = 29,
|
|
IS_ONECHAR = 30,
|
|
IS_PASSWORD = 31,
|
|
IS_TELEPHONE_FULLTELEPHONENUMBER = 32,
|
|
IS_TELEPHONE_COUNTRYCODE = 33,
|
|
IS_TELEPHONE_AREACODE = 34,
|
|
IS_TELEPHONE_LOCALNUMBER = 35,
|
|
IS_TIME_FULLTIME = 36,
|
|
IS_TIME_HOUR = 37,
|
|
IS_TIME_MINORSEC = 38,
|
|
IS_NUMBER_FULLWIDTH = 39,
|
|
IS_ALPHANUMERIC_HALFWIDTH = 40,
|
|
IS_ALPHANUMERIC_FULLWIDTH = 41,
|
|
IS_CURRENCY_CHINESE = 42,
|
|
IS_BOPOMOFO = 43,
|
|
IS_HIRAGANA = 44,
|
|
IS_KATAKANA_HALFWIDTH = 45,
|
|
IS_KATAKANA_FULLWIDTH = 46,
|
|
IS_HANJA = 47,
|
|
IS_HANGUL_HALFWIDTH = 48,
|
|
IS_HANGUL_FULLWIDTH = 49,
|
|
|
|
|
|
// special input scopes for ITfInputScope
|
|
IS_PHRASELIST = -1,
|
|
IS_REGULAREXPRESSION = -2,
|
|
IS_SRGS = -3,
|
|
IS_XML = -4,
|
|
IS_ENUMSTRING = -5,
|
|
} InputScope;
|
|
|
|
//
|
|
// MSCTF entry
|
|
//
|
|
cpp_quote("HRESULT WINAPI SetInputScope(HWND hwnd, InputScope inputscope);")
|
|
cpp_quote("HRESULT WINAPI SetInputScopes(HWND hwnd, const InputScope *pInputScopes, UINT cInputScopes, __in_ecount(cPhrases) WCHAR **ppszPhraseList, UINT cPhrases, __in_opt WCHAR *pszRegExp, __in_opt WCHAR *pszSRGS);")
|
|
cpp_quote("HRESULT WINAPI SetInputScopeXML(HWND hwnd, __in_opt WCHAR *pszXML);")
|
|
cpp_quote("HRESULT WINAPI SetInputScopes2(HWND hwnd, const InputScope *pInputScopes, UINT cInputScopes, IEnumString *pEnumString, __in_opt WCHAR *pszRegExp, __in_opt WCHAR *pszSRGS);")
|
|
|
|
cpp_quote("DEFINE_GUID(IID_ITfInputScope, 0xfde1eaee, 0x6924, 0x4cdf, 0x91, 0xe7, 0xda, 0x38, 0xcf, 0xf5, 0x55, 0x9d);")
|
|
cpp_quote("DEFINE_GUID(IID_ITfInputScope2, 0x5731eaa0, 0x6bc2, 0x4681, 0xa5, 0x32, 0x92, 0xfb, 0xb7, 0x4d, 0x7c, 0x41);")
|
|
cpp_quote("DEFINE_GUID(GUID_PROP_INPUTSCOPE, 0x1713dd5a, 0x68e7, 0x4a5b, 0x9a, 0xf6, 0x59, 0x2a, 0x59, 0x5c, 0x77, 0x8d);")
|
|
|
|
cpp_quote("#ifdef __cplusplus")
|
|
cpp_quote("}")
|
|
cpp_quote("#endif /* __cplusplus */")
|
|
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
|
|
//
|
|
// ITfInputScope
|
|
//
|
|
[
|
|
object,
|
|
uuid(fde1eaee-6924-4cdf-91e7-da38cff5559d),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITfInputScope : IUnknown
|
|
{
|
|
HRESULT GetInputScopes([out, size_is(1, *pcCount)] InputScope **pprgInputScopes,
|
|
[out] UINT *pcCount);
|
|
|
|
HRESULT GetPhrase([out, size_is(1, *pcCount)] BSTR **ppbstrPhrases,
|
|
[out] UINT *pcCount);
|
|
|
|
HRESULT GetRegularExpression([out] BSTR *pbstrRegExp);
|
|
|
|
HRESULT GetSRGS([out] BSTR *pbstrSRGS);
|
|
|
|
HRESULT GetXML([out] BSTR *pbstrXML);
|
|
};
|
|
|
|
//
|
|
// ITfInputScope2
|
|
//
|
|
[
|
|
object,
|
|
uuid(5731eaa0-6bc2-4681-a532-92fbb74d7c41),
|
|
pointer_default(unique)
|
|
]
|
|
interface ITfInputScope2 : ITfInputScope
|
|
{
|
|
HRESULT EnumWordList([out] IEnumString **ppEnumString);
|
|
};
|
|
|
|
cpp_quote("#endif // INPUTSCOPE_DEFINED")
|
|
|