Aracılığıyla paylaş


CreateVersionStringFromModule işlevi

Hedef işlemdeki ortak dil çalışma zamanı (CLR) yolundan bir sürüm dizesi oluşturur.

Sözdizimi

HRESULT CreateVersionStringFromModule (
    [in]  DWORD      pidDebuggee,
    [in]  LPCWSTR    szModuleName,
    [out, size_is(cchBuffer),
    length_is(*pdwLength)] LPWSTR Buffer,
    [in]  DWORD      cchBuffer,
    [out] DWORD*     pdwLength
);

Parametreler

pidDebuggee
[in] Hedef CLR'nin yüklendiği işlemin tanımlayıcısı.

szModuleName
[in] İşlemde yüklenen hedef CLR'nin tam veya göreli yolu.

pBuffer
[out] Hedef CLR için sürüm dizesini depolamak için dönüş arabelleği.

cchBuffer
[in] boyutu pBuffer.

pdwLength
[out] tarafından pBufferdöndürülen sürüm dizesinin uzunluğu.

Dönüş değeri

S_OK
Hedef CLR'nin sürüm dizesi içinde pBufferbaşarıyla döndürüldü.

E_INVALIDARG
szModuleName null veya ya da pBuffercchBuffer null. pBuffer ve cchBuffer her ikisi de null veya null olmayan olmalıdır.

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
pdwLength değerinden cchBufferbüyüktür. Hem hem de pBuffercchBufferiçin null geçtiyseniz ve kullanarak pdwLengthgerekli arabellek boyutunu sorguladıysanız bu beklenen bir sonuç olabilir.

HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND)
szModuleName hedef işlemde geçerli bir CLR'nin yolunu içermez.

E_FAIL (veya diğer E_ iade kodları)
pidDebuggee geçerli bir işleme veya başka bir hataya başvurmaz.

Açıklamalar

Bu işlev tarafından pidDebuggee tanımlanan bir CLR işlemini ve tarafından szModuleNamebelirtilen bir dize yolunu kabul eder. Sürüm dizesi, işaret eden pBuffer arabellekte döndürülür. Bu dize, işlev kullanıcısı için opaktır; başka bir deyişle, sürüm dizesinin kendisinde içsel bir anlam yoktur. Yalnızca bu işlev ve CreateDebuggingInterfaceFromVersion işlevi bağlamında kullanılır.

Bu işlev iki kez çağrılmalıdır. İlk kez çağırdığınızda hem hem de pBuffercchBufferiçin null değerini geçirin. Bunu yaptığınızda, için pBuffer gereken arabellek boyutu içinde pdwLengthdöndürülür. Daha sonra işlevi ikinci kez çağırabilir ve arabellek pBuffer ile boyutunu içinde cchBuffergeçirebilirsiniz.

Gereksinimler

Platform: Bkz. .NET tarafından desteklenen işletim sistemleri.

Üst bilgi: dbgshim.h

Kitaplık: dbgshim.dll, libdbgshim.so, libdbgshim.dylib

.NET Sürümleri: .NET Core 2.1'den itibaren kullanılabilir