Compartilhar via


Função CreateVersionStringFromModule

Cria uma cadeia de caracteres de versão de um caminho CLR (Common Language Runtime) em um processo de destino.

Sintaxe

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

Parâmetros

pidDebuggee
[in] Identificador do processo no qual o CLR de destino é carregado.

szModuleName
[in] Caminho completo ou relativo para o CLR de destino que é carregado no processo.

pBuffer
[out] Buffer de retorno para armazenar a cadeia de caracteres de versão para o CLR de destino.

cchBuffer
[in] Tamanho de pBuffer.

pdwLength
[out] Comprimento da cadeia de caracteres de versão retornada por pBuffer.

Retornar valor

S_OK
A cadeia de caracteres de versão para o CLR de destino foi retornada com êxito em pBuffer.

E_INVALIDARG
Se szModuleName é nulo, pBuffer ou cchBuffer é nulo. pBuffer e cchBuffer devem ser ambos nulos ou não nulos.

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
pdwLength é maior que cchBuffer. Esse pode ser um resultado esperado se você tiver passado nulo para pBuffer e para cchBuffer e consultado o tamanho do buffer necessário usando pdwLength.

HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND)
szModuleName não contém um caminho para um CLR válido no processo de destino.

E_FAIL (ou outros códigos de retorno E_)
pidDebuggee não se refere a um processo válido ou a outra falha.

Comentários

Essa função aceita um processo CLR que seja identificado por pidDebuggee e um caminho de cadeia de caracteres especificado por szModuleName. A cadeia de caracteres de versão é retornada no buffer para o qual pBuffer aponta. Essa cadeia de caracteres é opaca para o usuário da função; ou seja, não há nenhum significado intrínseco na própria cadeia de caracteres de versão. Ela é usada apenas no contexto dessa função e na função CreateDebuggingInterfaceFromVersion.

Essa função deve ser chamada duas vezes. Quando você a chamar pela primeira vez, passe nulo para pBuffer e para cchBuffer. Quando você faz, o tamanho do buffer necessário para pBuffer será retornado em pdwLength. Em seguida, você pode chamar a função uma segunda vez e passar o buffer em pBuffer e seu tamanho em cchBuffer.

Requisitos

Plataformas: confira Sistemas operacionais com suporte no .NET.

Cabeçalho: dbgshim.h

Biblioteca: dbgshim.dll, libdbgshim.so, libdbgshim.dylib

Versões do .NET: disponível desde o .NET Core 2.1