WEB开发网
开发学院软件开发VC vc操作微软消息队列的方法 阅读

vc操作微软消息队列的方法

 2010-07-06 20:42:54 来源:WEB开发网   
核心提示:定义IMSMQQueuePtr qDest; // Represents Destination QueueIMSMQQueueInfoPtr qInfo; //Represents an open instance of the destination queueIMSMQQueueInfoPtr qRead;IMS

定义

IMSMQQueuePtr qDest; // Represents Destination Queue
IMSMQQueueInfoPtr qInfo; //Represents an open instance of the destination queue
IMSMQQueueInfoPtr qRead;
IMSMQMessagePtr qMsg; //Represents the message

初始化

qDest = NULL;
CoInitialize(NULL);
try{
qInfo.CreateInstance("MSMQ.MSMQQueueInfo");
qRead.CreateInstance("MSMQ.MSMQQueueInfo");
qMsg.CreateInstance("MSMQ.MSMQMessage");
lpszSystemInfo = tchBuffer;
GetComputerName(lpszSystemInfo,&cchBuff); // Getting the ComputerName
m_ServerName=lpszSystemInfo;
UpdateData(FALSE);
}
catch (_com_error)
{
MessageBox("Failed in CreateInstance of MSMQQueueInfo","MSMQ QueueInfo",1);
PostQuitMessage(1);
ReleaseAll();
}

创建消息队列

try
{
//
// m_ServerName = .Private$aaa 创建专有队列
//
//
//
// m_ServerName = .aaa 公用队列
//
// qInfo->PathName = m_ServerName.AllocSysString(); // Setting the Queue Path
CString fname;
fname="DIRECT=OS:";
fname+=m_ServerName;
qInfo->PathName = m_ServerName.AllocSysString();
qInfo->FormatName = fname.AllocSysString();
qInfo->Label= m_msgLabel.AllocSysString(); // Setting the Queue Label
ht = qInfo->Create();
qInfo->Journal=1; // Enabling the Journal Option
qInfo->Update();
qInfo->Refresh();
}
catch (_com_error e)
{
CString str;
str.Format("%s",e.ErrorMessage());
MessageBox("Creating a Queue Failed","Create Queue",1);
//ReleaseAll();
}

1 2  下一页

Tags:vc 操作 微软

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接