NameProfile
The NameProfile função atribui uma seqüência de caracteres para o processo especificado ou thread.
A API NameProfile só está disponível para criação de perfil de instrumentação.Não há suporte para NameProfile API para a criação de perfil de amostragem.
PROFILE_COMMAND_STATUS PROFILERAPI NameProfile(
LPCTSTR pszName,
PROFILE_CONTROL_LEVEL Level,
unsigned int dwId);
Parâmetros
pszName
O nome do elemento criação de perfil.Um nome é inválido (resultando em NameProfileA retorno NAME_ERROR_INVALID_NAME) se:
O ponteiro passado para NameProfileA é um valor nulo
Os dados de seqüência de caracteres de pszName começam com um número
Os dados de seqüência de caracteres de pszName contém um espaço
Os dados de seqüência de caracteres de pszName contém qualquer um dos seguintes caracteres:,. ` ~! @ # $ % ^ & * () = [] {} |\? / <>
Level
Indica o nível de analisar ao qual desempenho coleta de dados podem ser aplicadas.A seguir PROFILE_CONTROL_LEVEL enumeradores podem ser usados para indicar um dos três níveis de quais dados de desempenho coleção podem ser aplicadas:
dwId
Identificador de nível de criação de perfil.Use o processo ou thread identificador gerado pelo sistema.
Valor de Propriedade/Valor Retornado
A função indica sucesso ou fracasso usando PROFILE_COMMAND_STATUS enumeração.O valor retornado pode ser uma das seguintes opções:
Enumerador |
Descrição |
---|---|
NAME_ERROR_ID_NOEXIST |
O elemento de criação de perfil especificado não existe. |
NAME_ERROR_INVALID_NAME |
O nome é inválido. |
NAME_ERROR_LEVEL_NOEXIST |
O analisar nível especificado não existe. |
NAME_ERROR_NO_SUPPORT |
Não há suporte para a operação especificada. |
NAME_ERROR_OUTOFMEMORY |
Não havia memória disponível para registrar o evento. |
NAME_ERROR_REDEFINITION |
Um nome já foi atribuído ao elemento de analisar.O nome nesta função é ignorado. |
NAME_ERROR_TEXTTRUNCATED |
O texto de nome excedeu 32 caracteres, incluindo o caractere nulo e, portanto, foi truncado. |
NAME_OK |
Nome foi registrado com êxito. |
Comentários
Apenas um nome pode ser atribuído a cada processo ou thread.Depois de um elemento de criação de perfil nomeado, chamadas subseqüentes ao NameProfile desse elemento são ignoradas.
Se o mesmo nome for fornecido para diferentes segmentos ou processos, o relatório inclui dados de todos os elementos nesse nível com esse nome.
Se você especificar um processo ou segmento diferente do corrente, faça-se de que foi inicializado e iniciado em execução antes de nomeá-la.Caso contrário, o método NameProfile falhará.
![]() |
---|
() CreateProcess ) e funções da API CreateThread() podem retornar antes do thread ou processo é inicializado. |
Equivalente do NET Framework
Microsoft.VisualStudio.criador de perfil.dll
Informações de função
Header |
Incluir VSPerf.h |
Biblioteca |
Use VSPerf.lib |
Unicode |
Implementada sistema autônomo NameProfileW (Unicode) e NameProfileA (ANSI). |
Exemplo
O código a seguir ilustra a telefonar de função NameProfile.O exemplo supõe que o uso de macros de seqüência de caracteres Win32 e as configurações do compilador para ANSI determinar se as chamadas de código o ANSI habilitados função.
void ExerciseNameProfile()
{
// Variables used to print output.
HRESULT hResult;
TCHAR tchBuffer[256];
// Create and initialize variables to pass to
// ExerciseNameProfile. The value of this
// parameter is based on the needs of the code;
// and for the sake of simplicity in this example,
// the variable is assigned an arbitrary value.
TCHAR * profileName = TEXT("ExerciseNameProfile");
// Declare enumeration to hold result of call to
// ExerciseNameProfle.
PROFILE_COMMAND_STATUS nameResult;
nameResult = NameProfile(
profileName,
PROFILE_GLOBALLEVEL,
PROFILE_CURRENTID);
// Format and print result.
LPCTSTR pszFormat = TEXT("%s %d.\0");
TCHAR* pszTxt = TEXT("NameProfile returned");
hResult = StringCchPrintf(tchBuffer, 256, pszFormat,
pszTxt, nameResult);
#ifdef DEBUG
OutputDebugString(tchBuffer);
#endif
}
Consulte também
Outros recursos
(Nativa) de referência do API criador de perfil do Visual Studio