⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 external.h

📁 Windows CE 下的机顶盒应用实例
💻 H
字号:
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.

Module Name:  external.h

Abstract:  Defines window.external (IHostExternal), which extends the
 		   DHTML object model to allow web pages to access functionality
 		   in the host app.

--*/

#ifndef _EXTERNAL_H_2629F28A_D606_43A1_AC8F_679BB82BCC82_
#define _EXTERNAL_H_2629F28A_D606_43A1_AC8F_679BB82BCC82_

class CHostExternal : 
	public CComObjectRoot,
	public IDispatchImpl<IHostExternal, &IID_IHostExternal, &LIBID_STBIHOSTLib>
{
	CMainWnd* m_pMainWnd;
	IUnknown* m_pUnkRCtlKeys;
	IUnknown* m_pUnkDbgUtils;
#if 0	// STB_OSD_CODE
	IUnknown* m_pUnkOSD;
#endif

public:

	DECLARE_NO_REGISTRY()
	DECLARE_NOT_AGGREGATABLE(CHostExternal)
	DECLARE_PROTECT_FINAL_CONSTRUCT()

	BEGIN_CATEGORY_MAP(CHostExternal)
	END_CATEGORY_MAP()

	BEGIN_COM_MAP(CHostExternal)
		COM_INTERFACE_ENTRY(IHostExternal)
		COM_INTERFACE_ENTRY(IDispatch)
	END_COM_MAP()

	CHostExternal() :
		m_pMainWnd(NULL),
		m_pUnkRCtlKeys(NULL),
		m_pUnkDbgUtils(NULL)
#if 0	// STB_OSD_CODE
		, m_pUnkOSD(NULL)
#endif
	{ }

	~CHostExternal()
	{
		if (m_pUnkRCtlKeys)
			m_pUnkRCtlKeys->Release();

		if (m_pUnkDbgUtils)
			m_pUnkDbgUtils->Release();

#if 0	// STB_OSD_CODE
		if (m_pUnkOSD)
			m_pUnkOSD->Release();
#endif
	}

	VOID SetInst(CMainWnd* pMainWnd)
	{
		ASSERT(pMainWnd);
		m_pMainWnd = pMainWnd;
	}

	// IUIBrowserExternal
	STDMETHOD(get_FullScreen)(/*[out, retval]*/ VARIANT_BOOL* pVal);
	STDMETHOD(put_FullScreen)(/*[in]*/ VARIANT_BOOL newVal);
	STDMETHOD(get_RemoteControlKeys)(/*[out, retval]*/ IDispatch** ppVal);
	STDMETHOD(get_DebugUtils)(/*[out, retval]*/ IDispatch** ppVal);
#if 0	// STB_OSD_CODE
	STDMETHOD(get_OSD)(/*[out, retval]*/ IDispatch** ppVal);
#endif
};

#endif // _EXTERNAL_H_2629F28A_D606_43A1_AC8F_679BB82BCC82_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -