Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

86 lines
2.2 KiB

#ifndef __C_IME_PAD_CALLBACK_FOR_UIM_H__
#define __C_IME_PAD_CALLBACK_FOR_UIM_H__
#include "cpadsvu.h"
//----------------------------------------------------------------
//990630:ToshiaK for #1327
//----------------------------------------------------------------
#define WM_USER_UPDATECONTEXT (WM_USER+400)
class CImePadCallbackUIM;
typedef CImePadCallbackUIM *LPCImePadCallbackUIM;
class CImePadCallbackUIM :public IImePadCallback
{
public:
HRESULT __stdcall QueryInterface(REFIID riid, void**ppv);
ULONG __stdcall AddRef (void);
ULONG __stdcall Release (void);
virtual HRESULT STDMETHODCALLTYPE OnStart(
/* [in] */ DWORD dwParam);
virtual HRESULT STDMETHODCALLTYPE OnClose(
/* [in] */ DWORD dwParam);
virtual HRESULT STDMETHODCALLTYPE OnPing(
/* [in] */ DWORD dwParam);
virtual HRESULT STDMETHODCALLTYPE PassData(
/* [in] */ long nSize,
/* [size_is][in] */ byte __RPC_FAR *pByte,
/* [out][in] */ DWORD __RPC_FAR *pdwCharID);
virtual HRESULT STDMETHODCALLTYPE ReceiveData(
/* [in] */ DWORD dwCmdID,
/* [in] */ DWORD dwDataID,
/* [out] */ long __RPC_FAR *pSize,
/* [size_is][size_is][out] */ byte __RPC_FAR *__RPC_FAR *ppByte);
public:
CImePadCallbackUIM(HWND hwndIF, LPCImePadSvrUIM lpCImePadSvrUIM);
~CImePadCallbackUIM();
VOID* operator new( size_t size );
VOID operator delete( VOID *lp );
private:
LPCImePadSvrUIM m_lpCImePadSvrUIM;
DWORD m_dwReg;
HWND m_hwndIF;
LONG m_cRef;
};
#ifndef __DEFINE_IMEPAD_IUNKNOWN_DUMMY__
#define __DEFINE_IMEPAD_IUNKNOWN_DUMMY__
#pragma pack(8)
typedef struct IUnkDummyVtbl
{
HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
IUnknown __RPC_FAR * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
IUnknown __RPC_FAR * This);
ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
IUnknown __RPC_FAR * This);
}IUnkDummyVtbl;
interface IUnkDummy
{
CONST_VTBL struct IUnkDummyVtbl __RPC_FAR *lpVtbl;
};
#pragma pack()
#endif //__DEFINE_IMEPAD_IUNKNOWN_DUMMY__
extern BOOL IsBadVtblUIM(IUnkDummy *lpIUnk);
#endif //__C_IME_PAD_CALLBACK_FOR_UIM_H__