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
}