CServerCtrlDlg(CWnd*pParent=NULL);// standard constructor
~CServerCtrlDlg(void);
voidCloseHandles(void);
virtualintRMLPreIdle(void);
intRunModalLoop(DWORDdwFlags);
intDoModal(void);
voidSetPumpIfQueued(BOOLbValue);
voidRefreshText(void);
intProcessMappedResponse(void);
LPVOIDGetMappedBuffer(HANDLEhfileBuffer);
voidReleaseMappedBuffer(LPVOIDpBuffer);
// Dialog Data
//{{AFX_DATA(CServerCtrlDlg)
enum{IDD=IDD_SERVERCTRL_DIALOG};
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CServerCtrlDlg)
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);// DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICONm_hIcon;
// Generated message map functions
//{{AFX_MSG(CServerCtrlDlg)
virtualBOOLOnInitDialog();
afx_msgvoidOnPaint();
afx_msgHCURSOROnQueryDragIcon();
afx_msgvoidOnBtnStart();
afx_msgvoidOnBtnExecute();
afx_msgvoidOnBtnGet();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
PROCESS_INFORMATIONPI;// Information about the HLDS process ( mostly the HANDLE )
HANDLEm_hMappedFile;// Shared file for sending/receiving commands to HLDS
HANDLEm_hSend;// Event that will be signaled when we have written commands into mapped file
HANDLEm_hReceive;// Engine will set this when it has readied response to our commands
intm_nPendingRequest;// The last request we issued
intm_nPendingLines;// Number of console lines we want to receive
BOOLm_bOnlyPumpIfMessageInQueue;// TRUE if we should only go into PumpMessage ( which blocks ) if we have seen a message in the MSG queue using PeekMessage
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.