Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sobald ein Minifiltertreiber einen Kontext für ein Objekt festgelegt hat, kann er den Kontext abrufen, indem er eine der folgenden Get-Routinen aufruft:
- FltGetContexts
- FltGetContextsEx
- FltGetFileContext
- FltGetInstanceContext
- FltGetStreamContext
- FltGetStreamHandleContext
- FltGetTransactionContext
- FltGetVolumeContext
Jede erfolgreiche Get-Routine erhöht die Verweisanzahl im Kontext, sodass der Minifilter FltReleaseContext aufruft , wenn er den Kontextzeiger nicht mehr benötigt.
Im folgenden Codebeispiel aus dem SwapBuffers-Beispielminifilter ruft der Minifiltertreiber FltGetVolumeContext auf, um einen Volumekontext abzurufen:
status = FltGetVolumeContext(
FltObjects->Filter, //Filter
FltObjects->Volume, //Volume
&volCtx); //Context
...
if (volCtx != NULL) {
FltReleaseContext(volCtx);
}
Wenn der Aufruf von FltGetVolumeContext erfolgreich ist, empfängt der Context-Parameter die Adresse des Volumekontexts des Aufrufers. FltGetVolumeContext erhöht die Verweisanzahl für den Kontextzeiger . Wenn dieser Zeiger also nicht mehr benötigt wird, muss der Minifiltertreiber ihn durch Aufrufen von FltReleaseContext freigeben.