掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
どなたかCでMSMQを作成した方はいませんか? (ID:50626)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Windows2000Server環境下でCでプログラムを開発しているのですが、MSMQのMQをCreateする"MQCreateQueue"関数がエラーで帰ってきます。 COM用(Mqoa.lib)のMSMQQueueInfo.Create関数を使用したVBのプログラムではMQ(専用キュー)を作成できるのに、C用(Mqrt.lib)のMQCreateQueue関数を使用したCのプログラムでは ”MQ_ERROR_ILLEGAL_QUEUE_PATHNAME (0xC00E0014) →PROPID_Q_PATHNAME に指定されたメッセージ キュー パス名文字列が無効です。” のエラーになってしまします。 同じキュー名をセットしているのに何かが不足しているのでしょうか? 以下がソースの一部です。 MQQUEUEPROPS QueueProps; MQPROPVARIANT aVariant[10]; QUEUEPROPID aPropId[10]; HRESULT aStatus[10]; HRESULT hr; DWORD PropIdCount = 0L; WCHAR wszLabel[MQ_MAX_Q_LABEL_LEN] = L"TestQueue"; DWORD dwFormatNameBufferLength; WCHAR wszFormatNameBuffe[256]; // Set queue properties. aPropId[PropIdCount] = PROPID_Q_PATHNAME; aVariant[PropIdCount].vt = VT_LPWSTR; aVariant[PropIdCount].pwszVal = ".\\Private\\MQNAME"; PropIdCount++; aPropId[PropIdCount] = PROPID_Q_LABEL; aVariant[PropIdCount].vt = VT_LPWSTR; aVariant[PropIdCount].pwszVal = wszLabel; PropIdCount++; QueueProps.cProp = PropIdCount; QueueProps.aPropID = aPropId; QueueProps.aPropVar = aVariant; QueueProps.aStatus = Status; dwFormatNameBufferLength = sizeof(wszFormatNameBuffer) /sizeof(wszFormatNameBuffer[0]); hr = MQCreateQueue( NULL, &QueueProps, wszFormatNameBuffer, &dwFormatNameBufferLength); if( hr != MQ_OK){ →ここでエラーになる エラー処理 } どなたか判る方がおられましたら教えてください よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.