windows-nt/Source/XPSP1/NT/public/internal/windows/inc/duser/duithread.h
2020-09-26 16:20:57 +08:00

51 lines
1,000 B
C++

/*
* Thread methods, local storage
*/
#ifndef DUI_CORE_THREAD_H_INCLUDED
#define DUI_CORE_THREAD_H_INCLUDED
#pragma once
namespace DirectUI
{
/////////////////////////////////////////////////////////////////////////////
// Synchronization lock
class Lock
{
public:
Lock() { InitializeCriticalSection(&_cs); }
~Lock() { DeleteCriticalSection(&_cs); }
void Enter() { EnterCriticalSection(&_cs); }
void Leave() { LeaveCriticalSection(&_cs); }
private:
CRITICAL_SECTION _cs;
};
extern Lock* g_plkParser;
/////////////////////////////////////////////////////////////////////////////
// Initialization
HRESULT InitProcess();
HRESULT UnInitProcess();
HRESULT InitThread();
HRESULT UnInitThread();
// Control library class registration
HRESULT RegisterAllControls();
/////////////////////////////////////////////////////////////////////////////
// Message pump
void StartMessagePump();
void StopMessagePump();
} // namespace DirectUI
#endif // DUI_CORE_THREAD_H_INCLUDED