次の方法で共有


RegisterForRuntimeStartup 関数

指定されたプロセスで .NET ランタイムが開始されたときにコールバックを実行します。

構文

HRESULT RegisterForRuntimeStartup (
    [in] DWORD dwProcessId,
    [in] PSTARTUP_CALLBACK pfnCallback,
    [in] PVOID parameter,
    [out] PVOID *ppUnregisterToken)
);

パラメーター

dwProcessId
[in]ターゲット プロセスのプロセス ID。

pfnCallback
[in]ランタイムの起動時に呼び出されるコールバック。 関数ポインター PSTARTUP_CALLBACK 参照してください。

parameter
[入力] pfnCallbackに渡されるデータ ポインター。

ppUnregisterToken
[out] UnregisterForRuntimeStartup トークンを返すポインター。

戻り値

S_OK
スタートアップ コールバックが正常に登録されました。

E_INVALIDARG
pfnCallbackまたはppUnregisterTokenが null です。

E_FAIL (またはその他の E_ リターン コード)
コールバックの登録に失敗しました。

注釈

コールバックは、ランタイムのバージョンに対して適切な ICorDebug インスタンスを渡すか、何かが失敗した場合にエラーを渡します。 この API は、xplat と Windows の両方で、起動とアタッチ (ランタイムがまだ読み込まれていない場合はアタッチ シナリオでも) に対して同様に機能します。 コールバックは常に別のスレッドで呼び出されます。 この API は直ちに返されます。 コールバックは、初期初期化中に coreclr ランタイム モジュールが読み込まれるときに呼び出されます。 ランタイムは、コールバックが戻るまで初期化中にブロックされます。 (通常のアタッチの場合と同様に) ランタイムが既にプロセスに読み込まれている場合、コールバックが実行され、ランタイムはブロックされません。 コールバックは常に別のスレッドで呼び出され、この API はすぐに返されます。 現在、ターゲット プロセスで見つかった最初の coreclr モジュール インスタンスのみがサポートされています。

要求事項

プラットフォーム:サポートされている .NET オペレーティング システムを参照してください。

ヘッダー: dbgshim.h

ライブラリ: dbgshim.dll, libdbgshim.so, libdbgshim.dylib

.NET バージョン: .NET Core 2.1 以降で使用可能