mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
5.1 KiB
177 lines
5.1 KiB
// MainFrm.h : interface of the CMainFrame class
|
|
//
|
|
//=--------------------------------------------------------------------------=
|
|
// Copyright 1997-1999 Microsoft Corporation. All Rights Reserved.
|
|
//
|
|
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
|
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
// PARTICULAR PURPOSE.
|
|
//=--------------------------------------------------------------------------=
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
class CMainFrame : public CFrameWnd
|
|
{
|
|
protected: // create from serialization only
|
|
CMainFrame();
|
|
DECLARE_DYNCREATE(CMainFrame)
|
|
|
|
// Attributes
|
|
public:
|
|
|
|
// Operations
|
|
public:
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CMainFrame)
|
|
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
public:
|
|
virtual ~CMainFrame();
|
|
#ifdef _DEBUG
|
|
virtual void AssertValid() const;
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
#endif
|
|
|
|
protected: // control bar embedded members
|
|
CStatusBar m_wndStatusBar;
|
|
CToolBar m_wndToolBar;
|
|
|
|
// Generated message map functions
|
|
protected:
|
|
//{{AFX_MSG(CMainFrame)
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnApiCreateQueue();
|
|
afx_msg void OnApiDeleteQueue();
|
|
afx_msg void OnApiOpenQueue();
|
|
afx_msg void OnApiCloseQueue();
|
|
afx_msg void OnApiSendMessage();
|
|
afx_msg void OnApiReceiveMessage();
|
|
afx_msg void OnApiLocate();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
protected:
|
|
|
|
void OnUpdateFrameTitle(BOOL bAddToTitle);
|
|
|
|
protected:
|
|
//
|
|
// An array to hold the pathnames of the queues that were created so far.
|
|
//
|
|
|
|
//
|
|
// Holds information about all "located" queues
|
|
//
|
|
CArray<ARRAYQ*, ARRAYQ*> m_PathNameArray;
|
|
|
|
//
|
|
// Holds information about all "opened" queues
|
|
//
|
|
CArray<ARRAYQ*, ARRAYQ*> m_OpenedQueuePathNameArray;
|
|
|
|
public:
|
|
|
|
//
|
|
// Utility function to display status string based on received msg Class property
|
|
//
|
|
void ClassToString(unsigned short MsgClass,LPTSTR pszStatus);
|
|
|
|
|
|
|
|
//
|
|
// functions to manipulate the path names array.
|
|
//
|
|
|
|
//
|
|
// Adds a given ARRAYQ pointer to the PathName array.
|
|
//
|
|
void Add2PathNameArray(ARRAYQ* NewPath) {m_PathNameArray.Add(NewPath);}
|
|
//
|
|
// Removes an ARRAYQ pointer whose pathname matches
|
|
// the given pathname form the PathName array.
|
|
//
|
|
ARRAYQ* RemoveFromPathNameArray(TCHAR szPathName[MAX_Q_PATHNAME_LEN]);
|
|
//
|
|
// Empties the PathName array and frees all allocated memory.
|
|
//
|
|
void CleanPathNameArray();
|
|
//
|
|
// Looks for an ARRAYQ pointer whose pathname matches the given one,
|
|
// and returns the formatname of that ARRAYQ.
|
|
//
|
|
BOOL TranslatePathNameToFormatName(TCHAR szPathName[MAX_Q_PATHNAME_LEN],
|
|
TCHAR szFormatName[MAX_Q_FORMATNAME_LEN]);
|
|
//
|
|
// Prints to screen the pathname of all ARRAYQ's in the PathName array.
|
|
//
|
|
void DisplayPathNameArray();
|
|
|
|
//
|
|
// functions to manipulate the opened queues path name array.
|
|
//
|
|
|
|
//
|
|
// Adds a given ARRAYQ pointer to the Opened Queue PathName array.
|
|
//
|
|
void Add2OpenedQueuePathNameArray(ARRAYQ* NewPath)
|
|
{m_OpenedQueuePathNameArray.Add(NewPath);}
|
|
//
|
|
// Removes an ARRAYQ pointer whose pathname matches
|
|
// the given pathname form the Opened Queue PathName array.
|
|
//
|
|
ARRAYQ* RemoveFromOpenedQueuePathNameArray(TCHAR szPathName[MAX_Q_PATHNAME_LEN]);
|
|
//
|
|
// Checks if the Opened Queue PathName array is Empty.
|
|
//
|
|
BOOL IsOpenedQueueArrayEmpty();
|
|
//
|
|
// Looks for an ARRAYQ pointer whose pathname matches the given one,
|
|
// and returns the formatname of that ARRAYQ.
|
|
//
|
|
BOOL TranslateOpenedQueuePathNameToFormatName(
|
|
TCHAR szPathName[MAX_Q_PATHNAME_LEN],
|
|
TCHAR szFormatName[MAX_Q_FORMATNAME_LEN]);
|
|
//
|
|
// Looks for an ARRAYQ pointer whose pathname matches the given one,
|
|
// and returns the Queue Handle of that ARRAYQ.
|
|
//
|
|
BOOL GetQueueHandle(TCHAR szPathName[MAX_Q_PATHNAME_LEN],
|
|
QUEUEHANDLE* phClosedQueueHandle);
|
|
//
|
|
// Prints to screen the pathname of all ARRAYQ's in the PathName array.
|
|
//
|
|
void DisplayOpenedQueuePathNameArray();
|
|
|
|
|
|
//
|
|
// functions to manipulate both of the queues.
|
|
//
|
|
|
|
//
|
|
// Moves an ARRAYQ pointer from the PathName array to the Opened Queue PathName array.
|
|
//
|
|
void MoveToOpenedQueuePathNameArray(TCHAR szPathName[MAX_Q_PATHNAME_LEN],
|
|
QUEUEHANDLE hQueue, DWORD dwAccess);
|
|
//
|
|
// Moves an ARRAYQ pointer from the Opened Queue PathName array array to the PathName.
|
|
//
|
|
void MoveToPathNameArray(TCHAR szPathName[MAX_Q_PATHNAME_LEN]);
|
|
//
|
|
// Looks for ARRAYQ's that are found in both arrays
|
|
// and removes them from the PathName array.
|
|
//
|
|
void UpdatePathNameArrays();
|
|
|
|
};
|
|
|
|
extern "C" void PrintToScreen(const TCHAR * Format, ...);
|
|
extern CWnd* pMainView;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|