ホームページ >バックエンド開発 >C++ >.NET の CreateJobObject 実装で SetInformationJobObject がエラー 24 または 87 で失敗するのはなぜですか?

.NET の CreateJobObject 実装で SetInformationJobObject がエラー 24 または 87 で失敗するのはなぜですか?

DDD
DDDオリジナル
2024-12-31 19:03:15620ブラウズ

Why Does SetInformationJobObject Fail with Error 24 or 87 in .NET's CreateJobObject Implementation?

.net での CreateJobObject/SetInformationJobObject pinvoke の例?

問題:
この例では、CreateJobObject/AssignProcessToJobObject 関数が表示されます。は正しく動作しますが、SetInformationJobObject は常にエラー 24 で失敗します。または 87. プラットフォーム アーキテクチャに基づく調整と構造定義の慎重な検討にもかかわらず、根本的な問題は未解決のままです。

解決策:
Matt Howells によって提供された解決策と追加の修正およびカスタム ジョブ クラスは、SetInformationJobObject の失敗を解決する包括的なソリューションを提供します。

ジョブ クラス実装:
カスタム Job クラスには、プロセスを作成、終了、ジョブに割り当てるためのメソッドが含まれています。 CreateJobObject、SetInformationJobObject、AssignProcessToJobObject、およびその他の関連関数とのインターフェイスとして PInvoke ルーチンを利用します。

キー ポイント:

  • JOBOBJECT_EXTENDED_LIMIT_INFORMATION 構造体には、 JOBOBJECT_BASIC_LIMIT_INFORMATION 構造体により、包括的なジョブ制限構成が可能になります。
  • 拡張情報は SetInformationJobObject を使用して正常に設定されます。
  • IO_COUNTERS、SECURITY_ATTRIBUTES、JobObjectInfoType などの詳細情報とヘルパー クラスにより、ジョブを詳細に理解できます。管理コンセプト。

以上が.NET の CreateJobObject 実装で SetInformationJobObject がエラー 24 または 87 で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。