Condividi tramite


PFLT_CONTEXT_ALLOCATE_CALLBACK funzione di callback (fltkernel.h)

Un driver minifilter può registrare una routine di tipo PFLT_CONTEXT_ALLOCATE_CALLBACK come routine del driver minifilter ContextAllocateCallback .

Sintassi

PFLT_CONTEXT_ALLOCATE_CALLBACK PfltContextAllocateCallback;

PVOID PfltContextAllocateCallback(
  [in] POOL_TYPE PoolType,
  [in] SIZE_T Size,
  [in] FLT_CONTEXT_TYPE ContextType
)
{...}

Parametri

[in] PoolType

Tipo di pool da allocare. Questo parametro è obbligatorio e deve essere uno dei seguenti:

NonPagedPool

PagedPool

Deve essere NonPagedPool se il parametro ContextType è FLT_VOLUME_CONTEXT.

[in] Size

Dimensione, in byte, dell'intero contesto, inclusa sia la parte definita dal gestore filtri che la parte definita dal driver minifilter.

[in] ContextType

Tipo di contesto. Questo parametro è obbligatorio e deve essere uno dei valori seguenti:

FLT_FILE_CONTEXT (a partire da Windows Vista)

FLT_INSTANCE_CONTEXT

FLT_STREAM_CONTEXT

FLT_STREAMHANDLE_CONTEXT

FLT_SECTION_CONTEXT (a partire da Windows 8)

FLT_TRANSACTION_CONTEXT (a partire da Windows Vista)

FLT_VOLUME_CONTEXT

Valore restituito

Se il pool libero non è sufficiente per soddisfare la richiesta, questa routine restituisce un puntatore NULL . In caso contrario, restituisce un puntatore al contesto appena allocato.

Commenti

Per i rari casi in cui un driver minifilter deve eseguire la propria allocazione del contesto, può specificare una routine di tipo PFLT_CONTEXT_ALLOCATE_CALLBACK come routine ContextAllocateCallback per ogni tipo di contesto registrato quando chiama FltRegisterFilter dalla routine DriverEntry . Per specificare questa routine, il driver minifilter archivia un puntatore alla routine nel membro ContextAllocateCallback della struttura FLT_CONTEXT_REGISTRATION per il tipo di contesto.

Per altre informazioni sulla registrazione del contesto, vedere la voce di riferimento per FLT_CONTEXT_REGISTRATION.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione fltkernel.h (include Fltkernel.h)
IRQL <=APC_LEVEL

Vedi anche

FLT_CONTEXT_REGISTRATION

FLT_REGISTRATION

FltRegisterFilter

PFLT_CONTEXT_CLEANUP_CALLBACK

PFLT_CONTEXT_FREE_CALLBACK