PFLT_CONTEXT_ALLOCATE_CALLBACK Rückruffunktion (fltkernel.h)

Ein Minifiltertreiber kann eine Routine vom Typ PFLT_CONTEXT_ALLOCATE_CALLBACK als ContextAllocateCallback-Routine des Minifiltertreibers registrieren.

Syntax

PFLT_CONTEXT_ALLOCATE_CALLBACK PfltContextAllocateCallback;

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

Parameter

[in] PoolType

Der Typ des zuzuweisenden Pools. Dieser Parameter ist erforderlich und muss einer der folgenden sein:

NonPagedPool

PagedPool

Muss NonPagedPool sein, wenn der ContextType-Parameter FLT_VOLUME_CONTEXT ist.

[in] Size

Die Größe des gesamten Kontexts in Bytes, einschließlich des vom Filter-Manager definierten Teils und des durch den Minifiltertreiber definierten Teils.

[in] ContextType

Der Typ des Kontexts. Dieser Parameter ist erforderlich und muss einer der folgenden Werte sein:

FLT_FILE_CONTEXT (ab Windows Vista)

FLT_INSTANCE_CONTEXT

FLT_STREAM_CONTEXT

FLT_STREAMHANDLE_CONTEXT

FLT_SECTION_CONTEXT (ab Windows 8)

FLT_TRANSACTION_CONTEXT (ab Windows Vista)

FLT_VOLUME_CONTEXT

Rückgabewert

Wenn nicht genügend freier Pool verfügbar ist, um die Anforderung zu erfüllen, gibt diese Routine einen NULL-Zeiger zurück. Andernfalls wird ein Zeiger auf den neu zugewiesenen Kontext zurückgegeben.

Hinweise

In den seltenen Fällen, in denen ein Minifiltertreiber eine eigene Kontextzuordnung durchführen muss, kann er eine Routine vom Typ PFLT_CONTEXT_ALLOCATE_CALLBACK als ContextAllocateCallback-Routine für jeden Kontexttyp angeben, den er registriert, wenn er FltRegisterFilter aus seiner DriverEntry-Routine aufruft. Um diese Routine anzugeben, speichert der Minifiltertreiber einen Zeiger auf die Routine im ContextAllocateCallback-Member der FLT_CONTEXT_REGISTRATION-Struktur für den Kontexttyp.

Weitere Informationen zur Kontextregistrierung finden Sie im Referenzeintrag für FLT_CONTEXT_REGISTRATION.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile fltkernel.h (include Fltkernel.h)
IRQL <=APC_LEVEL

Weitere Informationen

FLT_CONTEXT_REGISTRATION

FLT_REGISTRATION

FltRegisterFilter

PFLT_CONTEXT_CLEANUP_CALLBACK

PFLT_CONTEXT_FREE_CALLBACK