1

この投稿のタイトルで定義されているメッセージと HResult 0x8007007A は、Windows Workflow Foundation ランタイムのインスタンスの作成中に発生することがあります。

エラー テキストは一目瞭然で、Workflow Foundation アセンブリに Reflector を使用することで、ADVAPI32.DLL 内の次の呼び出しのいずれかに問題を絞り込みました。

SetKernelObjectSecurity RevertToSelf OpenProcessToken GetKernelObjectSecurity

RevertToSelf() は入力パラメーターを必要としないため、削除しました。小さすぎるデータ構造を渡すことはできません。

GetKernelObjectSecurity は入力として構造体を受け取ります。これはおそらく間違っている可能性がありますが、このエラーは一時的なものであり、明らかな再現手順はありません。

アプリのどこかでメモリ管理に関係していると感じていると思いますが、HResult が何を意味するかについての適切な定義を突き止めることはできませんこの HResult の適切な定義の方向性を教えてもらえますか?

4

1 に答える 1

1

私はいくつかの推測を提供することができます。

あなたが言うように、エラーメッセージはかなり説明的に聞こえます。

OpenProcessTokenは、メモリ領域のサイズを直接渡すことはないため、候補としてはあまり考えられません。

GetKernelObjectSecurity または SetKernelObjectSecurity が良い候補のようです。それらを直接呼び出していないので、メモリの領域をこれらの関数に渡すためにどのロジックが使用されているかわかりません。たとえば、使用しているライブラリの 1 つにセキュリティ記述子用の固定サイズのバッファがあり、バッファが使い果たされると、バッファの残りのサイズ (たとえばゼロ) を取り、それを GetKernelObjectSecurity に渡すことは可能ですか? ?

(一般的に、OS のバグなどではなく、このような WF ランタイム実装のバグによる可能性が高いと思います。)

于 2008-11-03T18:26:59.663 に答える