RevertToSelf関数が失敗を返したとき(戻り値がFALSEだったとき)、どうするかという話です。MSDNライブラリのRevertToSelfのRemarksには、さっさとプロセスを終わらせるべきと書いてあります。

考えてみればたしかにそうです。たとえば、誤ってRevertToSelfが2回呼ばれるようなコードになっていたなど、回復の余地がある状況も考えられますが、そこまでがんばる必要もないでしょう。

そのため、前々々回前々回のコードでは、RevertToSelfが失敗したらabort関数で終わらせるようにしてみました。ただし、C++なのでstd::terminate関数のほうが良かったかなと思っているところです。

その割には、サンプルコードでRevertToSelfについて何もしていないものを見かけます。たとえば、Verifying Client Access with ACLs in C++ (Windows)はRevertToSelfのページからリンクが張られているにも関わらずです。まあ、よくあることです。


スポンサード リンク

この記事のカテゴリ

  • ⇒ RevertToSelfが失敗したときの処理