/*!
 	@file
 	@brief キーボードドライバ（プロシージャ で取得する Ver. )
 */

#ifndef CKeybordDriverWindowsMSG_h
#define CKeybordDriverWindowsMSG_h

#include"../../../../Setup/CompileMode.h"
#include"../../../../Auxiliary/Macro.h"
#include"../../CKeybordDriver.h"
#include"../../../../FrameWork/Windows/CMessageHook.h"
#include<vector>

namespace Maid
{
	class CKeybordDriverWindowsMSG : public IMessageHook, public IKeybordDriver
	{
	public:
		CKeybordDriverWindowsMSG();
		virtual ~CKeybordDriverWindowsMSG();

		virtual void	Initialize();
		virtual void	Finalize();
		virtual void	IsDown( MySTL::vector<bool>& KeyList )	const;
		virtual int		GetButtonnMax()							const;

		virtual void Reset();

		virtual RETURNCODE OnMessage( CWindowsMessage& mess );

	private:
		MySTL::vector<bool>		m_IsDown;
	};
}

#endif