CreateVersionStringFromModule 関数
対象プロセス内の共通言語ランタイム (CLR: Common Language Runtime) パスからバージョン文字列を作成します。
構文
HRESULT CreateVersionStringFromModule (
[in] DWORD pidDebuggee,
[in] LPCWSTR szModuleName,
[out, size_is(cchBuffer),
length_is(*pdwLength)] LPWSTR Buffer,
[in] DWORD cchBuffer,
[out] DWORD* pdwLength
);
パラメーター
pidDebuggee
[in] 対象 CLR が読み込まれているプロセスの識別子。
szModuleName
[in] プロセスに読み込まれている対象 CLR の完全パスまたは相対パス。
pBuffer
[out] 対象 CLR のバージョン文字列を格納する戻りバッファー。
cchBuffer
[in] pBuffer
のサイズ。
pdwLength
[out] pBuffer
によって返されるバージョン文字列の長さ。
値を返す
S_OK
対象 CLR のバージョン文字列が pBuffer
に正常に返されました。
E_INVALIDARG
szModuleName
が null であるか、pBuffer
または cchBuffer
が null です。 pBuffer
と cchBuffer
は、両方が null であるか、両方が null 以外である必要があります。
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
pdwLength
が cchBuffer
より大きくなっています。 pBuffer
と cchBuffer
の両方に null を渡して、pdwLength
を使用して必要なバッファー サイズを照会した場合に、このような結果になることが予期されます。
HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND)
szModuleName
に、対象プロセスの有効な CLR のパスが含まれていません。
E_FAIL
(またはその他の E_
リターン コード)
pidDebuggee
が有効なプロセスを参照していません。または、その他のエラーが発生しました。
解説
この関数は、pidDebuggee
が識別した CLR プロセスと、szModuleName
で指定された文字列パスを受け取ります。 バージョン文字列は、pBuffer
が指すバッファーに返されます。 この文字列は関数のユーザーには不透明です。つまり、バージョン文字列自体に特別な意味はありません。 バージョン文字列は、この関数と CreateDebuggingInterfaceFromVersion 関数のコンテキストでのみ使用されます。
この関数は、2 回呼び出す必要があります。 1 回目の呼び出しでは、pBuffer
と cchBuffer
の両方に null を渡します。 これにより、pBuffer
に必要なバッファーのサイズが pdwLength
に返されます。 その後、2 回目の関数呼び出しを実行し、pBuffer
にはバッファーを、cchBuffer
にはバッファーのサイズを渡すことができます。
必要条件
プラットフォーム:.NET supported operating systems をご参照ください。
ヘッダー: dbgshim.h
ライブラリ: dbgshim.dll、libdbgshim.so、libdbgshim.dylib
.NET のバージョン: .NET Core 2.1 以降で使用可能
.NET