Condividi tramite


Funzione FltRetainSwappedBufferMdlAddress (fltkernel.h)

FltRetainSwappedBufferMdlAddress impedisce a Filter Manager di liberare l'elenco di descrittori di memoria (MDL) per un buffer che è stato scambiato in da un driver minifilter.

Sintassi

void FltRetainSwappedBufferMdlAddress(
  [in] PFLT_CALLBACK_DATA CallbackData
);

Parametri

[in] CallbackData

Puntatore alla struttura dei dati di callback per l'operazione.

Valore restituito

nessuno

Osservazioni

Quando un driver minifilter scambia in un nuovo buffer in una routine di callback preoperazione (PFLT_PRE_OPERATION_CALLBACK), Il gestore filtri libera automaticamente l'MDL del buffer quando la routine di callback (PFLT_POST_OPERATION_CALLBACK) corrispondente restituisce.

Il driver minifilter può impedire a Gestione filtri di liberare l'MDL chiamando FltRetainSwappedBufferMdlAddress dalla routine di callback di postperazione.

Dopo aver chiamato FltRetainSwappedBufferMdlAddress, il chiamante è responsabile della liberazione dell'MDL chiamando una routine come IoFreeMdl.

FltRetainSwappedBufferMdlAddress può essere chiamato solo da una routine di callback postperazione.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione fltkernel.h (includere Fltkernel.h)
Libreria FltMgr.lib
DLL Fltmgr.sys
IRQL Qualsiasi livello

Vedi anche

FltDecodeParameters

FltGetSwappedBufferMdlAddress

IoFreeMdl

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK