ConvertStringSecurityDescriptorToSecurityDescriptor()
関数が原因でプログラムが正常に終了しないことがわかりました。を呼び出してもExitProcess(0)
、プログラムはバックグラウンドで開いたままです。この関数を削除すると、プログラムは正常に終了します。
デバッガーの助けを借りて、この関数は、この関数の終了後も開いたままの新しいスレッドを作成することがわかりました。
この関数を強制的に正しく動作させ、開いているすべてのスレッドを閉じるにはどうすればよいですか?
私のコード:
int main() {
PSECURITY_DESCRIPTOR d;
// program has 1 thread
ConvertStringSecurityDescriptorToSecurityDescriptorW(L".....", SDDL_REVISION_1, &d, NULL);
// program has 2 threads
return 0; // still running in background after this
}