你好我是MSMQ的新手,
有一些C ++组件我想通过Microsoft Message Queue连接它们。 使用https://msdn.microsoft.com/en-us/library/ms711416(v=vs.85).aspx中的函数。我想创建一个新的Message Queue。
我打电话给这个函数:
SECURITY_DESCRIPTOR securityDescriptor;
CreateSecurityDescriptor(&securityDescriptor);
WCHAR wszOutFormatName[256];
DWORD dwOutFormatNameLength;
CreateMSMQQueue(L"DIRECT=OS:.\\PRIVATE$\\MyQueue", &securityDescriptor, wszOutFormatName, &dwOutFormatNameLength);
CreateSecurityDescriptor
创建名称为Default SecurityDescriptor。如果需要,我可以发布代码。
但创建失败,错误代码为MQ_ERROR_ILLEGAL_QUEUE_PATHNAME
。这意味着:
PROPID_Q_PATHNAME包含非法的消息队列路径名字符串。
L"DIRECT=OS:.\\PRIVATE$\\MyQueue"
有什么问题?
我来自https://msdn.microsoft.com/en-us/library/ms700996(v=vs.85).aspx
我很感激任何帮助。
答案 0 :(得分:0)
您只能使用格式名称引用现有队列 您无法使用一个创建新队列 改为使用路径名。
Difference between Path name and Format name when accessing MSMQ queues