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 |