winhal.h

来自「一个更为先进的嵌入式操作系统.采用RMS线程调度算法,具有信号量等同步对象.亦包」· C头文件 代码 · 共 55 行

H
55
字号
#ifndef _GOS_WINHAL_H_
#define _GOS_WINHAL_H_

enum _tagHAL
{
	halCreate,
	halMouseEvent,
	halKeyEvent,
	halSetWallpaper,
};

extern "C" LRESULT HalMain(UINT message, WPARAM wParam, LPARAM lParam);

#ifndef _STDAFX_H_

#ifdef _DEBUG
#define ASSERT(f)	if(!(f)){_asm int 3}
extern void TRACE(LPCTSTR pszFormat,...);
#else
#define ASSERT(f)
#define TRACE(x)
#endif

#define IsInterruptable() 1
#define IsInterruptMode() 0
#define EnableInterrupt() g_pKernel->UnlockSwitch()
#define DisableInterrupt() g_pKernel->LockSwitch()
#define SwitchToThread() g_pHAL->SwitchThread()

extern "C" LONG __stdcall GetTickCount();

class CThread;

class CHAL : public CMsgObject
{
public:
	virtual LRESULT MsgProc(UINT message, WPARAM wParam, LPARAM lParam);
public:
	static void CreateThread(CThread* pThread,PVOID pParam);
	static void ExitThread(CThread* pThread);
	static void SwitchThread(CThread* pFromThread,CThread* pToThread);
	static BOOL SwitchThread(void);
	static void OnSwitchThread(BOOL bIdle);
public:
	static DWORD SimSWI(PVOID pParam);
	static DWORD RunGOS(PVOID pParam);
	static DWORD CHAL::RunThread(PVOID pParam);
};

extern CHAL* g_pHAL;
class CDesktop;extern CDesktop* g_pDesktop;

#endif // _STDAFX_H_

#endif //_GOS_WINHAL_H_

⌨️ 快捷键说明

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