StartProfile

La función StartProfile establece el contador en 1 (activado) para el nivel de generación de perfiles especificado.

PROFILE_COMMAND_STATUS PROFILERAPI StartProfile(
                        PROFILE_CONTROL_LEVEL Level, 
                        unsigned int dwId);

Parámetros

Level

Indica el nivel de perfil al que se puede aplicar la recolección de datos de rendimiento.Los enumeradores PROFILE_CONTROL_LEVEL siguientes se pueden utilizar para indicar uno de los tres niveles a los que se puede aplicar la recolección de datos de rendimiento:

Enumerator

Descripción

PROFILE_GLOBALLEVEL

La configuración de nivel global afecta a todos los procesos y subprocesos de la ejecución de generación de perfiles.

PROFILE_PROCESSLEVEL

La configuración de nivel de proceso afecta a todos los subprocesos que forman parte del proceso especificado.

PROFILE_THREADLEVEL

La configuración de nivel de subprocesos de la generación de perfiles afecta al subproceso especificado.

dwId

Identificador del proceso o del subproceso generado por el sistema.

Valor de propiedad y valor devuelto

La función indica si la operación es correcta o errónea mediante la enumeración PROFILE_COMMAND_STATUS.El valor devuelto puede ser cualquiera de los siguientes:

Enumerator

Descripción

PROFILE_ERROR_ID_NOEXIST

El Id. del elemento de generación de perfiles no existe.

PROFILE_ERROR_LEVEL_NOEXIST

El nivel de generación de perfiles especificado no existe.

PROFILE_ERROR_MODE_NEVER

El modo de generación de perfiles se estableció en NEVER cuando se llamó a la función.

PROFILE_ERROR_NOT_YET_IMPLEMENTED

Todavía no se ha implementado la llamada a la función de generación de perfiles, el nivel de generación de perfiles o la combinación de llamada y nivel.

PROFILE_OK

La llamada se realizó correctamente.

Comentarios

StartProfile y StopProfile controlan el estado de Start/Stop del nivel de generación de perfiles.El valor predeterminado de Start/Stop es 1.El valor inicial se puede cambiar en el Registro.Cada llamada a StartProfile establece el estado de Start/Stop en 1; cada llamada a StopProfile lo establece en 0.

Cuando el valor del contador Start/Stop es mayor que 0, el estado de Start/Stop del nivel es ON.Cuando es menor o igual que 0, el estado de Start/Stop es OFF.

Cuando los estados de Start/Stop y de Suspend/Resume son ON, el estado de generación de perfiles del nivel es ON.Para que se generen los perfiles de un subproceso los estados del subproceso en todos los niveles (global, de proceso y de subproceso) deben ser ON.

Equivalente en .NET Framework

Microsoft.VisualStudio.Profiler.dll

Información de la función

Encabezado: Declarado en VSPerf.h

Biblioteca de importación: VSPerf.lib

Ejemplo

En el ejemplo siguiente se ilustra la llamada a la función StartProfile.

void ExerciseStartProfile()
{
    // StartProfile and StopProfile control the
    // Start/Stop state for the profiling level. 
    // The default initial value of Start/Stop is 1. 
    // The initial value can be changed in the registry. 
    // Each call to StartProfile sets Start/Stop to 1; 
    // each call to StopProfile sets it to 0. 
    
    // Variables used to print output.
    HRESULT hResult;
    TCHAR tchBuffer[256];

    // Declare enumeration to hold return value of 
    // the call to StartProfile.
    PROFILE_COMMAND_STATUS profileResult;

    profileResult = StartProfile(
        PROFILE_THREADLEVEL,
        PROFILE_CURRENTID);

    // Format and print result.
    LPCTSTR pszFormat = TEXT("%s %d.\0");
    TCHAR* pszTxt = TEXT("StartProfile returned");
    hResult = StringCchPrintf(tchBuffer, 256, pszFormat, 
        pszTxt, profileResult);

#ifdef DEBUG
    OutputDebugString(tchBuffer);
#endif
}

Vea también

Otros recursos

Referencia a la API del generador de perfiles de Visual Studio (Nativa)