Share via


puntatore a funzione PFREE_FUNCTION

Un driver di filtro legacy del file system può registrare una routine tipizzata PFREE_FUNCTION come routine di callback FreeCallback del filtro. Il file system chiama FreeCallback quando il file system rimuove un oggetto contesto di file tramite FsRtlTeardownPerFileContexts o rimuove un oggetto contesto di flusso tramite FsRtlTeardownPerStreamContexts.

È necessario dichiarare la routine di callback usando il tipo di FREE_FUNCTION . Per altre informazioni, vedere l'esempio nella sezione Osservazioni.

Sintassi

typedef VOID ( *FreeCallback)(
  _In_ PVOID Buffer
);

Parametri

Valore restituito

nessuno

Osservazioni

Quando un file system elimina l'oggetto contesto per file per un file, deve chiamare FsRtlTeardownPerFileContexts. Questa routine chiama le routine FreeCallback di tutte le strutture di contesto per file associate al file. Questa routine di callback deve liberare qualsiasi memoria utilizzata per l'oggetto FSRTL_PER_FILE_CONTEXT ed eventuali informazioni di contesto associate. Questo vale anche per i contesti per flusso quando viene chiamato FsRtlTeardownPerStreamContexts e FreeCallback libera memoria usata per gli oggetti FSRTL_PER_STREAM_CONTEXT .

Per le osservazioni sulla sincronizzazione dell'accesso a oggetti contesto per file o a oggetti di contesto per flusso durante una chiamata a FreeCallback, vedere FsRtlTeardownPerFileContexts e FsRtlTeardownPerStreamContexts.

Nota

La routine FreeCallback non può chiamare in modo ricorsivo nel file system o acquisire risorse del file system.

Per definire una funzione di callback FreeCallback denominata MyFreeFunction, è innanzitutto necessario specificare una dichiarazione di funzione richiesta dall'SDV (Static Driver Verifier ) e da altri strumenti di verifica, come indicato di seguito:

FREE_FUNCTION MyFreeFunction;

Implementare quindi la funzione di callback come indicato di seguito:

VOID
 MyFreeFunction (
 __in PVOID Buffer
    )
  {...}

Requisiti

Tipo di requisito Requisito
Client minimo supportato Windows Vista
Intestazione Wdm.h (include Wdm.h o Ntddk.h)
IRQL <= APC_LEVEL

Vedi anche

FsRtlTeardownPerFileContexts

FsRtlTeardownPerStreamContexts

FSRTL_PER_FILE_CONTEXT

FSRTL_PER_STREAM_CONTEXT

Rilevamento Per-File contesto in un driver di filtro del file system legacy

Rilevamento Per-Stream contesto in un driver di filtro del file system legacy