79 lines
2.2 KiB
C++
79 lines
2.2 KiB
C++
//-----------------------------------------------------------------------------
|
|
//
|
|
//
|
|
// File: localq.h
|
|
//
|
|
// Description: Header file for CLocalLinkMsgQueue class... a subclass of
|
|
// CLinkMsgQueue that provides the additional functionality need to
|
|
// admin a local queue
|
|
//
|
|
// Author: Mike Swafford (MikeSwa)
|
|
//
|
|
// History:
|
|
// 2/23/99 - MikeSwa Created
|
|
//
|
|
// Copyright (C) 1999 Microsoft Corporation
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#ifndef __LOCALQ_H__
|
|
#define __LOCALQ_H__
|
|
|
|
#include "linkmsgq.h"
|
|
|
|
#define LOCAL_LINK_MSG_QUEUE_SIG 'QMLL'
|
|
|
|
//---[ CLocalLinkMsgQueue ]----------------------------------------------------
|
|
//
|
|
//
|
|
// Description:
|
|
// Derived class of CLinkMsgQueue that provides that additional queue
|
|
// admin functionality required to handle local delivery
|
|
// Hungarian:
|
|
// llmq, pllmq
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
class CLocalLinkMsgQueue :
|
|
public CLinkMsgQueue
|
|
{
|
|
protected:
|
|
DWORD m_dwLocalLinkSig;
|
|
CAsyncRetryAdminMsgRefQueue *m_paradmq;
|
|
public:
|
|
CLocalLinkMsgQueue(CAsyncRetryAdminMsgRefQueue *paradmq,
|
|
GUID guidLink);
|
|
|
|
virtual BOOL fIsRemote() {return FALSE;};
|
|
|
|
public: //IQueueAdminAction
|
|
STDMETHOD(HrApplyQueueAdminFunction)(
|
|
IQueueAdminMessageFilter *pIQueueAdminMessageFilter);
|
|
|
|
STDMETHOD_(BOOL, fMatchesID)
|
|
(QUEUELINK_ID *QueueLinkID);
|
|
|
|
STDMETHOD(QuerySupportedActions)(DWORD *pdwSupportedActions,
|
|
DWORD *pdwSupportedFilterFlags)
|
|
{
|
|
return QueryDefaultSupportedActions(pdwSupportedActions,
|
|
pdwSupportedFilterFlags);
|
|
};
|
|
|
|
public: //IQueueAdminLink
|
|
STDMETHOD(HrGetLinkInfo)(
|
|
LINK_INFO *pliLinkInfo,
|
|
HRESULT *phrLinkDiagnostic);
|
|
|
|
STDMETHOD(HrApplyActionToLink)(
|
|
LINK_ACTION la);
|
|
|
|
STDMETHOD(HrGetNumQueues)(
|
|
DWORD *pcQueues);
|
|
|
|
STDMETHOD(HrGetQueueIDs)(
|
|
DWORD *pcQueues,
|
|
QUEUELINK_ID *rgQueues);
|
|
|
|
};
|
|
|
|
#endif //__LOCALQ_H__
|