2016-09-22 3 views
0

Привет Я новичок в MSMQ,Нелегальная имя Путь при создании MessageQueue

имеет некоторые C++ компоненты, которые я хочу, чтобы соединить их с помощью очереди сообщений Microsoft. Использование функции от https://msdn.microsoft.com/en-us/library/ms711416(v=vs.85).aspx. Я хочу создать новую очередь сообщений.

Эта функция я вызываю с:

SECURITY_DESCRIPTOR securityDescriptor; 
CreateSecurityDescriptor(&securityDescriptor); 
WCHAR wszOutFormatName[256]; 
DWORD dwOutFormatNameLength; 

CreateMSMQQueue(L"DIRECT=OS:.\\PRIVATE$\\MyQueue", &securityDescriptor, wszOutFormatName, &dwOutFormatNameLength); 

CreateSecurityDescriptor создает как имя говорит по умолчанию 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

Только предположение, но пример из MSDN так же, как ваша, кроме него есть один обратный слэш, где у вас есть пара из них. Поэтому попробуйте L "DIRECT = OS:. \ PRIVATE $ \ MyQueue" – Marichyasana

+0

@Marichyasana Я тоже это пробовал. Но у меня такое же сообщение об ошибке. –

ответ

Смежные вопросы