私のOSはVistaでUACがオンになっています。私はサーバ側でグローバルMutexオブジェクトを作成します。そして、UIを持つAPは同じ名前のCreateMutexを使用してサーバで作成されたMutexオブジェクトを取得します。しかし、私はそれにアクセスする権利がないと私に伝えています。どうしたらいいですか?VistaのMutexオブジェクトについて
答えて
あなたのケースでは、対応するセキュリティ属性を初期化することによって、あなたのミューテックスへのすべてのアクセスを明示的に許可する必要があると思います。
は、ミューテックスをこの方法(半擬似コードとしてそれを考慮して)作成してみてください:
SECURITY_ATTRIBUTES sa;
SECURITY_DESCRIPTOR sd;
InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(&sd, TRUE, NULL, FALSE);
sa.nLength = sizeof(sa);
sa.lpSecurityDescriptor = &sd;
CreateMutex(&sa, ...);
ところでを - 既存ミューテックスを開くためにCreateMutexを使用するのもOKです。しかし、OpenMutexでは必要なアクセスレベルを指定することができます。あなたはそれが「グローバル\」と名前だ接頭辞にする必要があります(MSDNの「カーネルオブジェクト名前空間」の記事を参照してください)
まあ、それは良い練習の問題ではありません:同じフックを初期化してアクセスするグローバルフックDLLがあると想像してください - このシナリオではOpenMutexは便利ではありません。しかし、あなたのコードを作成してミューテックスを作成し、そのミューテックスにアクセスするのが簡単に分かれば、CreateMutexが作成され、OpenMutexが既存のミューテックスを所望のアクセス権で開くと、コードがより明確になります – Andrey
ありがたいことに、 –
- 1. pthread mutexの使用について
- 2. Mutexオブジェクトは参照渡しですか?
- 3. コアデータ:異なるスレッドで2つのオブジェクトを変更するときのmutex /デッドロック?
- 4. boost :: signals2 :: mutexとboost :: thread :: mutexの違いは何ですか?
- 5. C++/GLFW - Mutexオブジェクトを使用する正しい方法は?
- 6. 共有オブジェクトについて
- 7. pthread mutexのオーバーヘッド?
- 8. VistaでCOMオブジェクトを作成する - エラー
- 9. mscorlib.dllのmutexクラスにアクセス
- 10. なぜboost :: mutexはvs2013のstd :: mutexより速いのですか?
- 11. 質問については、オブジェクトのリリース
- 12. SharePoint 2007のSPLongOperationオブジェクトについて
- 13. 質問オブジェクトの種類について
- 14. オブジェクトについての質問
- 15. オブジェクトのプロパティ名について
- 16. ブーストスレッドのリソースとmutex
- 17. Mutex for Railsプロセス
- 18. mutex with PHP 5.3.8
- 19. オブジェクトを別のオブジェクトに割り当てるときにオブジェクトのアドレスについての問い合わせ
- 20. PHP // Thread // Mutex // Condの使い方
- 21. F#オブジェクト指向プログラミングについて
- 22. mutexを使用した2つのプロセス間のIPCの調整
- 23. VistaでMSDAIPPが壊れています.Wind7Betaで見つからない
- 24. std :: mutexがstd :: coutのために正しくロックされていない
- 25. はどこに先立ちVistaにVistaの
- 26. POSIX Cプログラム(MUTEXプログラム)
- 27. Ajax/JQueryデータベースへのアクセス/ mutex
- 28. mutexの実装ですか?
- 29. (mutex)コールバック関数のロックC++
- 30. 複数のスレッドとmutexを使用する場合のmutexでのアサーション
あなたがサーバーを実行していて -
また、あなたが本当にグローバルミューテックスを必要とする場合に、注意してください同じVistaマシンのUI? –
はい、大きな問題は、UIが、既存のミューテックスがUI SWよりも高い権利を持っているため、サーバーによって作成されたMUTEXにアクセスする必要はないということです。 –