ここから、パラメータが次のとおりであることはすでにわかっています。
Function Open(Access, ShareMode)
と彼らは言います
アクセスは次のいずれかに設定できます。
MQ_PEEK_ACCESS: メッセージは閲覧のみ可能です。キューから削除することはできません。
MQ_SEND_ACCESS: メッセージはキューにのみ送信できます。
MQ_RECEIVE_ACCESS: メッセージは、キューから取得 (読み取りおよび削除)、ピーク、またはパージできます。キューからメッセージを取得できるユーザーを制限する方法については、ShareMode 引数の説明を参照してください。
MQ_PEEK_ACCESS | MQ_ADMIN_ACCESS: ローカル送信キュー内のメッセージは、ピークのみ可能です (キューから削除せずに読み取る)。
MQ_RECEIVE_ACCESS | MQ_ADMIN_ACCESS: ローカル送信キュー内のメッセージは、取得 (読み取ってキューから削除)、ピーク (キューから削除せずに読み取る)、またはパージ (削除) できます。
MSDN のMQACCESSのドキュメントでは、定数の数値が示されています。
typedef enum
{
MQ_RECEIVE_ACCESS = 1,
MQ_SEND_ACCESS = 2,
MQ_PEEK_ACCESS = 0x0020,
MQ_ADMIN_ACCESS = 0x0080
} MQACCESS;
2 番目のパラメーター、ShareMode:
ShareMode は、キューにアクセスできるユーザーを指定します。次のいずれかに設定します。
MQ_DENY_NONE: デフォルト。キューは、Everyone グループのすべてのメンバーが利用できます。Access が MQ_PEEK_ACCESS または MQ_SEND_ACCESS に設定されている場合は、この設定を使用する必要があります。
MQ_DENY_RECEIVE_SHARE: キューからメッセージを取得できるユーザーをこのプロセスに制限します。別のプロセスによってメッセージを取得するためにキューが既に開かれている場合、この呼び出しは失敗し、MQ_ERROR_SHARING_VIOLATION (0xC00E0009) エラーが生成されます。Access が MQ_RECEIVE_ACCESS に設定されている場合にのみ適用されます。
これらの定数は次のとおりです。
Const MQ_DENY_NONE = 0
Const MQ_DENY_RECEIVE_SHARE = 1
確かに見つけるのは少し難しいですが、たとえばここで入手できますが、これはあまり信頼できる情報源ではありませんが、正しいと思います.