ioctlmanager.h

来自「IO函数调用测试」· C头文件 代码 · 共 113 行

H
113
字号
// IOCTLManager.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CIOCTLManager dialog

class CIOCTLManager : public CDialog
{
// Construction
public:
	CIOCTLManager(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CIOCTLManager)
	enum { IDD = IDD_IOCTL };
	CNumericEdit	c_DeviceTypeDecimal;
	CButton	c_Delete;
	CButton	c_HeaderFile;
	CButton	c_Edit;
	CStatic	c_RHS_Up;
	CStatic	c_LHS_Up;
	CEdit	c_CurrentSelection;
	CButton	c_Microsoft;
	CButton	c_User;
	CSpinButtonCtrl	c_SpinFunction;
	CSpinButtonCtrl	c_SpinDeviceType;
	CIOCTLListBox	c_RHS;
	CButton	c_RemoveAll;
	CButton	c_Remove;
	CButton	c_New;
	CEdit	c_Name;
	CButton	c_MethodNeither;
	CButton	c_MethodDirectOut;
	CButton	c_MethodDirectIn;
	CButton	c_MethodBuffered;
	CIOCTLListBox	c_LHS;
	CEdit	c_IOCTL;
	CButton	c_Help;
	CNumericEdit	c_Function;
	CNumericEdit	c_DeviceType;
	CButton	c_AddAll;
	CButton	c_Add;
	CButton	c_AccessWrite;
	CButton	c_AccessRead;
	CButton	c_AccessAny;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CIOCTLManager)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	IOCTL * currentIOCTL;
	IOCTL * selectedIOCTL;

	BOOL initialized;
	int  ignoreDecimalChange;
	void updateControls();
	BOOL saveIOCTL(IOCTL * ioctl, UINT side);
	BOOL isValid(CString & name);
	void loadIOCTLs();
	void LHStoRHS(int lh);
	void RHStoLHS(int rh);
	void showIOCTL(CIOCTLListBox & HS);
	void editIOCTL(IOCTL * ioctl);
	void tryPromote(CIOCTLListBox & HS);
	void loadSide(UINT id, CIOCTLListBox & HS);
	void deleteAllFromRegistry(UINT id);
    	void preload(ioctl_list data[]);
	void addAllToRegistry(UINT id, CIOCTLListBox & HS);

	// Generated message map functions
	//{{AFX_MSG(CIOCTLManager)
	afx_msg void OnAccessAny();
	afx_msg void OnAccessRead();
	afx_msg void OnAccessWrite();
	afx_msg void OnAdd();
	afx_msg void OnAddall();
	afx_msg void OnChangeDevicetype();
	afx_msg void OnChangeFunction();
	afx_msg void OnHelp();
	afx_msg void OnChangeIoctl();
	afx_msg void OnDblclkLhs();
	afx_msg void OnSelchangeLhs();
	afx_msg void OnMethodbuffered();
	afx_msg void OnMethoddirectin();
	afx_msg void OnMethoddirectout();
	afx_msg void OnMethodneither();
	afx_msg void OnChangeName();
	afx_msg void OnNew();
	afx_msg void OnRemove();
	afx_msg void OnRemoveall();
	afx_msg void OnDblclkRhs();
	afx_msg void OnSelchangeRhs();
	afx_msg void OnHeaderfile();
	virtual BOOL OnInitDialog();
	afx_msg void OnMicrosoft();
	afx_msg void OnUser();
	afx_msg void OnEdit();
	afx_msg void OnDelete();
	virtual void OnOK();
	afx_msg void OnPreloads();
	afx_msg void OnChangeDeviceDecimal();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

⌨️ 快捷键说明

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