PFLT_INSTANCE_SETUP_CALLBACK funzione di callback (fltkernel.h)

Un driver minifilter può registrare una routine di tipo PFLT_INSTANCE_SETUP_CALLBACK come routine instanceSetupCallback del driver minifilter.

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 che contiene puntatori opachi per gli oggetti correlati all'operazione corrente.

[in] Flags

Maschera di bit di flag che indicano il motivo per cui l'istanza è collegata. Può essere uno o più dei 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 collegata 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 ricollegare 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 contiene ancora file aperti.
FLTFL_INSTANCE_SETUP_DEV_VOLUME (0x00000010) L'istanza viene collegata 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 dall'aggiornamento di settembre Windows 11 versione 22H2.
FLTFL_INSTANCE_SETUP_TRUSTED_VOLUME (0x00000020) Indica che un amministratore in un determinato computer ha considerato attendibile questo volume ed è disposto ad abilitare ottimizzazioni come non avere filtri antivirus collegati al volume. Queste informazioni vengono rese persistenti nel Registro di sistema in un determinato computer. Può essere usato 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 dall'aggiornamento di settembre Windows 11 versione 22H2.

[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:

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 dei thread o comunicazioni tra processi nell'implementazione 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 instanceSetupCallback del driver minifilter.

Per registrare la routine InstanceSetupCallback , il driver minifilter archivia l'indirizzo di una routine di tipo PFLT_INSTANCE_SETUP_CALLBACK nel membro InstanceSetupCallback della struttura FLT_REGISTRATION che il driver minifilter passa come parametro Registration di FltRegisterFilter.

Gestione filtri chiama questa routine alla prima operazione dopo il montaggio di un nuovo volume.

Il gestore filtri chiama questa routine per consentire al driver minifilter di rispondere a una richiesta di allegato automatica o manuale. Se questa routine restituisce un errore o un codice NTSTATUS di avviso, l'istanza del driver minifilter non è collegata al volume specificato. In caso contrario, l'istanza del driver minifilter è collegata al volume specificato.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione fltkernel.h (include 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