DbgLockTrace-Funktion
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Aktiviert oder deaktiviert die Debugprotokollierung eines bestimmten kritischen Abschnitts.
Syntax
void WINAPI DbgLockTrace(
CCritSec *pcCrit,
BOOL fTrace
);
Parameter
-
pcCrit
-
Zeiger auf einen kritischen CCritSec-Abschnitt .
-
fTrace
-
Wert, der angibt, ob die Protokollierung aktiviert ist. Verwenden Sie TRUE , um die Protokollierung zu aktivieren, oder FALSE , um sie zu deaktivieren.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Bemerkungen
Verwenden Sie diese Funktion, um einen bestimmten kritischen Abschnitt nachzuverfolgen. Standardmäßig ist die Debugprotokollierung kritischer Abschnitte aufgrund der großen Anzahl kritischer Abschnitte deaktiviert.
Führen Sie zum Nachverfolgen eines kritischen Abschnitts die folgenden Schritte aus:
- Definieren Sie DEBUG oder _DEBUG, bevor Sie die DirectShow-Header einschließen.
- Aktivieren Sie die Debugprotokollierung für kritische Abschnitte, indem Sie DbgSetModuleLevel mit dem flag LOG_LOCKING aufrufen.
- Rufen Sie DbgLockTrace für den kritischen Abschnitt auf, den Sie nachverfolgen möchten.
In Einzelhandelsbuilds hat die DbgLockTrace-Funktion keine Auswirkungen.
Beispiele
Im folgenden Codebeispiel wird das Nachverfolgen eines kritischen Abschnitts veranschaulicht.
DbgInitialise(g_hInst);
DbgSetModuleLevel(LOG_LOCKING, 3);
{
CCritSec MyLock;
DbgLockTrace(&MyLock, TRUE);
CAutoLock cObjectLock(&MyLock);
// Protected section of code.
DbgOutString("This code is inside a critical section.\n");
} // Lock goes out of scope here.
DbgTerminate();
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|