RevertToSelf関数が失敗を返したとき(戻り値がFALSEだったとき)、どうするかという話です。MSDNライブラリのRevertToSelfのRemarksには、さっさとプロセスを終わらせるべきと書いてあります。
考えてみればたしかにそうです。たとえば、誤ってRevertToSelfが2回呼ばれるようなコードになっていたなど、回復の余地がある状況も考えられますが、そこまでがんばる必要もないでしょう。
そのため、前々々回・前々回のコードでは、RevertToSelfが失敗したらabort関数で終わらせるようにしてみました。ただし、C++なのでstd::terminate関数のほうが良かったかなと思っているところです。
その割には、サンプルコードでRevertToSelfについて何もしていないものを見かけます。たとえば、Verifying Client Access with ACLs in C++ (Windows)はRevertToSelfのページからリンクが張られているにも関わらずです。まあ、よくあることです。
スポンサード リンク |
この記事のカテゴリ