PFLT_INSTANCE_SETUP_CALLBACK funzione di callback (fltkernel.h)
Un driver minifilter può registrare una routine di tipo PFLT_INSTANCE_SETUP_CALLBACK come routine del driver minifilter InstanceSetupCallback .
Sintassi
PFLT_INSTANCE_SETUP_CALLBACK PfltInstanceSetupCallback;
NTSTATUS PfltInstanceSetupCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] FLT_INSTANCE_SETUP_FLAGS Flags,
[in] DEVICE_TYPE VolumeDeviceType,
[in] FLT_FILESYSTEM_TYPE VolumeFilesystemType
)
{...}
Parametri
[in] FltObjects
Puntatore a una struttura FLT_RELATED_OBJECTS contenente puntatori opachi per gli oggetti correlati all'operazione corrente.
[in] Flags
Maschera di flag che indicano perché l'istanza è associata. Può essere una o più delle seguenti:
Contrassegno | Significato |
---|---|
FLTFL_INSTANCE_SETUP_AUTOMATIC_ATTACHMENT (0x00000001) | L'istanza viene collegata automaticamente. Il driver minifilter è stato appena caricato e viene collegato a tutti i volumi esistenti oppure viene collegato a un volume appena montato. |
FLTFL_INSTANCE_SETUP_MANUAL_ATTACHMENT (0x00000002) | L'istanza viene associata manualmente perché un'applicazione in modalità utente ha chiamato FilterAttach o FilterAttachAtAltitude o perché un componente in modalità kernel ha chiamato FltAttachVolume o FltAttachVolumeAtAltitude |
FLTFL_INSTANCE_SETUP_NEWLY_MOUNTED_VOLUME (0x00000004) | L'istanza viene collegata automaticamente a un volume appena montato. |
FLTFL_INSTANCE_SETUP_DETACHED_VOLUME (0x00000008) | L'istanza viene collegata a un volume scollegato. È possibile, in alcuni file system (ad esempio FAT e CDFS, usati da alcune unità multimediali rimovibili), per riassegnare un volume dopo che è stato scollegato. Un volume viene scollegato se non ha uno stack di archiviazione associato. Un volume in questo stato è in genere un volume smontato che ha ancora file aperti. |
FLTFL_INSTANCE_SETUP_DEV_VOLUME (0x00000010) | L'istanza viene associata a un volume formattato come volume per sviluppatori. I filtri del file system possono abilitare le ottimizzazioni che non richiedono a un amministratore di considerare attendibile il volume in un determinato computer. Disponibile a partire da Windows 11, versione 22H2 Settembre Update. |
FLTFL_INSTANCE_SETUP_TRUSTED_VOLUME (0x00000020) | Indica che un amministratore in un determinato computer ha considerato attendibile questo volume ed è disposto a abilitare ottimizzazioni come non avere filtri anti-virus collegati al volume. Queste informazioni vengono mantenute nel Registro di sistema in un determinato computer. Questa operazione può essere usata dai filtri del file system per abilitare le ottimizzazioni che richiedono a un amministratore di considerare attendibile il volume in un determinato computer. Disponibile a partire da Windows 11, versione 22H2 Settembre Update. |
[in] VolumeDeviceType
Tipo di dispositivo del volume del file system. I possibili valori sono i seguenti:
- FILE_DEVICE_CD_ROM_FILE_SYSTEM (0x00000002)
- FILE_DEVICE_DISK_FILE_SYSTEM (0x00000008)
- FILE_DEVICE_NETWORK_FILE_SYSTEM (0x00000014)
[in] VolumeFilesystemType
Tipo di file system del volume. I valori possibili sono elencati in FLT_FILESYSTEM_TYPE.
Valore restituito
Questa routine di callback restituisce STATUS_SUCCESS o un valore NTSTATUS, ad esempio quanto segue:
Codice restituito | Descrizione |
---|---|
STATUS_FLT_DO_NOT_ATTACH | La restituzione di questo valore impedisce l'associazione dell'istanza del driver minifilter al volume specificato. Si tratta di un codice di errore. |
Commenti
Nota
Non eseguire alcuna sincronizzazione del thread o comunicazione tra processi nell'implementazione di PFLT_INSTANCE_SETUP_CALLBACK . L'esecuzione di tali operazioni può causare condizioni di deadlock.
Quando un driver minifilter si registra chiamando FltRegisterFilter dalla routine DriverEntry, può registrare una routine di tipo PFLT_INSTANCE_SETUP_CALLBACK come routine del driver minifilterSetupCallback.
Per registrare la routine InstanceSetupCallback , il driver minifilter archivia l'indirizzo di una routine di tipo PFLT_INSTANCE_SETUP_CALLBACK nel membro InstanceSetupCallbackdella struttura FLT_REGISTRATION che il driver minifilter passa come parametro Di registrazione di FltRegisterFilter.
Gestione filtri chiama questa routine per la prima operazione dopo l'montaggio di un nuovo volume.
Gestione filtri chiama questa routine per consentire al driver minifilter di rispondere a una richiesta automatica o manuale di allegato. Se questa routine restituisce un errore o un codice NTSTATUS di avviso, l'istanza del driver minifilter non è associata al volume specificato. In caso contrario, l'istanza del driver minifilter è associata al volume specificato.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | fltkernel.h (includere Fltkernel.h) |
IRQL | PASSIVE_LEVEL |
Vedi anche
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK