ReactOS 0.4.17-dev-0-g129ef35
profile.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS msctfime.ime
3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: Profile of msctfime.ime
5 * COPYRIGHT: Copyright 2024-2026 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6 */
7
8#pragma once
9
10#include "sinks.h"
11
12class CicProfile : public IUnknown
13{
14protected:
15 typedef struct tagLANG_PROF_ENUM_ARG
16 {
20
21 ITfInputProcessorProfiles *m_pIPProfiles;
31
32 static INT CALLBACK
34 REFGUID rguid1,
35 REFGUID rguid2,
36 BOOL fActivated,
37 LPVOID pUserData);
38
39public:
40 CicProfile();
41 virtual ~CicProfile();
42
43 // IUnknown interface
44 STDMETHODIMP QueryInterface(REFIID riid, LPVOID* ppvObj) override;
47
50 _In_ HKL hKL,
52 _Out_ TF_LANGUAGEPROFILE* pProfile);
53 HRESULT GetLangId(_Out_ LANGID *pLangID);
54 HRESULT GetCodePageA(_Out_ UINT *puCodePage);
55
57 HRESULT IsIME(HKL hKL);
58
59 static HRESULT CALLBACK
63};
#define STDMETHODIMP
Definition: basetyps.h:43
struct CicProfile::tagLANG_PROF_ENUM_ARG * PLANG_PROF_ENUM_ARG
DWORD m_dwFlags
Definition: profile.h:25
UINT m_nCodePage
Definition: profile.h:26
LANGID m_LangID1
Definition: profile.h:23
WORD m_padding1
Definition: profile.h:24
struct CicProfile::tagLANG_PROF_ENUM_ARG LANG_PROF_ENUM_ARG
static INT CALLBACK ActiveLanguageProfileNotifySinkCallback(REFGUID rguid1, REFGUID rguid2, BOOL fActivated, LPVOID pUserData)
@implemented
Definition: profile.cpp:125
STDMETHODIMP_(ULONG) AddRef() override
static HRESULT CALLBACK LanguageProfilesCallback(_In_ TF_LANGUAGEPROFILE profile, _Inout_opt_ LPARAM lParam)
@implemented
Definition: profile.cpp:17
HRESULT GetLangId(_Out_ LANGID *pLangID)
@implemented
Definition: profile.cpp:168
DWORD m_dwUnknown1
Definition: profile.h:29
HRESULT IsIME(HKL hKL)
@implemented
Definition: profile.cpp:244
LONG m_cRefs
Definition: profile.h:30
STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppvObj) override
@implemented
Definition: profile.cpp:100
LANGID m_LangID2
Definition: profile.h:27
CicProfile()
@implemented
Definition: profile.cpp:67
WORD m_padding2
Definition: profile.h:28
HRESULT GetCodePageA(_Out_ UINT *puCodePage)
@implemented
Definition: profile.cpp:137
STDMETHODIMP_(ULONG) Release() override
virtual ~CicProfile()
@implemented
Definition: profile.cpp:80
HRESULT GetActiveLanguageProfile(_In_ HKL hKL, _In_ REFGUID catid, _Out_ TF_LANGUAGEPROFILE *pProfile)
@implemented
Definition: profile.cpp:221
ITfInputProcessorProfiles * m_pIPProfiles
Definition: profile.h:21
CActiveLanguageProfileNotifySink * m_pActiveLanguageProfileNotifySink
Definition: profile.h:22
HRESULT InitProfileInstance(_Inout_ TLS *pTLS)
@implemented
Definition: profile.cpp:193
Definition: tls.h:14
LPARAM lParam
Definition: combotst.c:139
#define CALLBACK
Definition: compat.h:35
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
REFIID riid
Definition: atlbase.h:39
ULONG AddRef()
ULONG Release()
#define profile
Definition: kernel32.h:12
USHORT LANGID
Definition: mui.h:9
LONG_PTR LPARAM
Definition: minwindef.h:175
UINT_PTR HKL
Definition: msctf.idl:125
GUID catid
Definition: msctf.idl:629
unsigned int UINT
Definition: ndis.h:50
#define _Inout_
Definition: no_sal2.h:162
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
long LONG
Definition: pedump.c:60
#define REFIID
Definition: guiddef.h:118
TF_LANGUAGEPROFILE profile
Definition: profile.h:18
Definition: scsiwmi.h:51
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59