Aracılığıyla paylaş


StartProfile

StartProfile fonksiyonu belirtilen profil oluşturma düzeyi için sayacı 1 (açık) olarak ayarlar.

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

Parametreler

Level

Hangi performansta verileri toplama uygulanabilir profil düzeyini gösterir.Aşağıdaki PROFILE_CONTROL_LEVEL numaralandırıcıları performans verileri toplamaya uygulanacak üç düzeyden birini belirtmek için kullanılabilir:

Numaralandırıcı

Tanımlama

PROFILE_GLOBALLEVEL

Genel düzey ayarlarıı, çalışan profillemedeki tüm işlemler ve iş parçacıklarını etkiler.

PROFILE_PROCESSLEVEL

İşlem düzeyi ayarları, belirli bir işlemin parçası olan tüm iş parçacıklarını etkiler.

PROFILE_THREADLEVEL

İş parçacığı profil oluşturma düzey ayarları belirtilen iş parçacığını etkiler.

dwId

Sistem tarafından oluşturulan işlem veya iş parçacığı tanımlayıcısı.

Özellik Değeri ve Dönüş Değeri

Fonksiyon PROFILE_COMMAND_STATUS numaralandırıcı kullanarak başarı veya başarısızlık belirtir.Dönüş değeri aşağıdakilerden biri olabilir:

Numaralandırıcı

Tanımlama

PROFILE_ERROR_ID_NOEXIST

Profil oluşturma öğesinin kimliği yok.

PROFILE_ERROR_LEVEL_NOEXIST

Belirtilen profil oluşturma düzeyi yok.

PROFILE_ERROR_MODE_NEVER

Fonksiyon çağrıldığı zaman profil oluşturma modu NEVER/HİÇ olarak ayarlandı.

PROFILE_ERROR_NOT_YET_IMPLEMENTED

Profil oluşturma fonksiyonu çağrısı, profil oluşturma düzeyi ya da çağrı ve düzey birleştirimi henüz uygulanmadı.

PROFILE_OK

Çağrı başarılı oldu.

Notlar

StartProfile ve StopProfile profil oluşturma düzeyi için Başlat/Durdur durumunu kontrol eder.Başlat/Durdur için varsayılan değer 1'dir.Başlangıç değeri kayıt defterinde değiştirilebilir.StartProfile yapılan her çağrı Başlat/Durdur'u 1'e ayarlar; StopProfile yapılan her çağrı ise 0 olarak ayarlar.

Başlat/Durdur 0'dan büyük olduğunda, Başlat/Durdur düzey için AÇIK durumdadır.Sıfıra eşit veya daha az olduğunda, Başlat/Durdur durumu KAPALI durumdadır.

Başlat/Durdur durumu ve AskıyaAl/DevamEt durumlarının her ikisi de AÇIK durumdayken, düzeyi için profil oluşturma durumu AÇIK'tır.Bir iş parçacığında profillenebilir olmak için global, işlem ve iş parçacığı düzeyi durumlarının iş parçacığı için AÇIK olması gerekir.

.NET Framework Eşdeğeri

Microsoft.VisualStudio.Profiler.dll

Fonksiyon Bilgileri

Başlık: VSPerf.h içinde Bildirilen

Kitaplığı tanımlayın: VSPerf.lib

Örnek

Aşağıdaki örnek, StartProfile fonksiyon çağrısını göstermektedir.

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
}

Ayrıca bkz.

Diğer Kaynaklar

Visual Studio Profiler API Başvurusu (yerel)