Condividi tramite


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

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FilterAttach

FilterAttachAtAltitude

FltAttachVolume

FltAttachVolumeAtAltitude

FltRegisterFilter

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

Dev Drive