CreateVersionStringFromModule 函式

從目標處理序中的 Common Language Runtime (CLR) 路徑來建立版本字串。

語法

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,或者 pBuffercchBuffer 為 null。 pBuffercchBuffer 必須都是 null 或非 null。

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
pdwLength 大於 cchBuffer。 如果您為 pBuffercchBuffer 傳遞 null,並使用 pdwLength 來查詢所需的緩衝區大小,這可能是預期的結果。

HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND)
szModuleName 未包含目標處理序中有效 CLR 的路徑。

E_FAIL (或其他 E_ 傳回程式碼)
pidDebuggee 未參考有效的處理序,或其他失敗。

備註

此函式可接受 pidDebuggee 識別的 CLR 處理序,以及 szModuleName 所指定的字串路徑。 版本字串傳回在 pBuffer 所指向的緩衝區中。 此字串對函式使用者是不透明的,也就是說,版本字串本身沒有內建意義。 它只會用在此語言函式與 CreateDebuggingInterfaceFromVersion 語言函式的內容。

應該要呼叫此函式兩次。 當您第一次呼叫此函式時,針對 pBuffercchBuffer 都傳遞 null。 當您這麼做時,pBuffer 所需的緩衝區大小將會傳回 pdwLength 中。 然後您可以呼叫此函式第二次,並且在 pBuffer 中傳遞緩衝區,在 cchBuffer 中傳遞其大小。

需求

平台:請參閱 .NET 支援的作業系統

標題:dbgshim.h

程式庫:dbgshim.dll、libdbgshim.so、libdbgshim.dylib

.NET 版本: 自 .NET Core 2.1 起提供