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.
|
|
//*********************************************************************
//* Microsoft Windows **
//* Copyright(c) Microsoft Corp., 1999 **
//*********************************************************************
//
// LANGUAGE.H - Header for the implementation of CLanguage
//
// HISTORY:
//
// 1/27/99 a-jaswed Created.
//
#ifndef _LANGUAGE_H_
#define _LANGUAGE_H_
#include <windows.h>
#include <assert.h>
#include <oleauto.h>
#define LANGUAGE_REBOOT_NEVER 0
#define LANGUAGE_REBOOT_NOW 1
#define LANGUAGE_REBOOT_END 2
// BUGBUG: SetupGetLocaleInfo will return sorted array so NAMELOOKUPELEMENT will not be needed.
typedef struct tagNAMELOOKUPELEMENT { LPWSTR pszName; int nIndex; } NAMELOOKUPELEMENT, far *LPNAMELOOKUPELEMENT;
class CLanguage : public IDispatch { private:
ULONG m_cRef;
DWORD m_lRebootState;
long m_lRegionIndex; long m_lRegionDefault; long m_lRegionTotal; POOBE_LOCALE_INFO m_poliRegions;
long m_lLangIndex; long m_lLangDefault; long m_lLangTotal; POOBE_LOCALE_INFO m_poliLangs;
long m_lKeyboardLayoutIndex; long m_lKeyboardLayoutDefault; long m_lKeyboardLayoutTotal; POOBE_LOCALE_INFO m_poliKeyboards;
long m_DefaultRegion; long m_DefaultLanguage; long m_DefaultKeyboard;
//GET functions
HRESULT get_NumOfRegions (long* plVal); HRESULT get_RegionIndex (long* plVal); HRESULT get_RegionName (long lIndex, BSTR* pbstrVal);
HRESULT get_NumOfLangs (long* plVal); HRESULT get_LangIndex (long* plVal); HRESULT get_LangName (long lIndex, BSTR* pbstrVal);
HRESULT get_NumOfKeyboardLayouts (long* plVal); HRESULT get_KeyboardLayoutIndex (long* plVal); HRESULT get_KeyboardLayoutName (long lIndex, BSTR* pbstrVal);
//SET functions
HRESULT set_RegionIndex (long lVal); HRESULT set_LangIndex (long lVal); HRESULT set_KeyboardLayoutIndex (long lVal);
HRESULT SaveSettings (); VOID GetPhoneCountries ();
public:
CLanguage (); ~CLanguage ();
// Public GET functions
HRESULT get_RebootState (long* plVal);
// IUnknown Interfaces
STDMETHODIMP QueryInterface (REFIID riid, LPVOID* ppvObj); STDMETHODIMP_(ULONG) AddRef (); STDMETHODIMP_(ULONG) Release ();
//IDispatch Interfaces
STDMETHOD (GetTypeInfoCount) (UINT* pcInfo); STDMETHOD (GetTypeInfo) (UINT, LCID, ITypeInfo** ); STDMETHOD (GetIDsOfNames) (REFIID, OLECHAR**, UINT, LCID, DISPID* ); STDMETHOD (Invoke) (DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pdispparams, VARIANT* pvarResult, EXCEPINFO* pexcepinfo, UINT* puArgErr); };
#endif
|