Condividi tramite


Funzione FilterAttach (fltuser.h)

La funzione FilterAttach collega una nuova istanza di minifilter al volume specificato.

Sintassi

HRESULT FilterAttach(
  [in]            LPCWSTR lpFilterName,
  [in]            LPCWSTR lpVolumeName,
  [in, optional]  LPCWSTR lpInstanceName,
  [in, optional]  DWORD   dwCreatedInstanceNameLength,
  [out, optional] LPWSTR  lpCreatedInstanceName
);

Parametri

[in] lpFilterName

Puntatore a una stringa di caratteri wide-carattere con terminazione null contenente il nome del minifilter per cui verrà creata un'istanza. Questo parametro è obbligatorio e non può essere NULL.

[in] lpVolumeName

Puntatore a una stringa di caratteri wide-carattere con terminazione null contenente il nome del volume a cui deve essere associata l'istanza appena creata.

La stringa di input lpVolumeName può essere una delle seguenti. La barra rovesciata finale (\) è facoltativa.

  • Lettera di unità, ad esempio "D:\"
  • Percorso di un punto di montaggio del volume, ad esempio "c:\mnt\edrive\"
  • Identificatore di volume univoco (denominato anche nome GUID del volume), ad esempio "\?? \Volume{7603f260-142a-11d4-ac67-806d6172696f}\"
  • Nome del dispositivo nonpersistent (chiamato anche nome di destinazione o nome di dispositivo NT), ad esempio "\Device\HarddiskVolume1\"
Il parametro lpVolumeName è obbligatorio e non può essere NULL.

[in, optional] lpInstanceName

Puntatore a una stringa di caratteri wide-character con terminazione null contenente il nome dell'istanza per la nuova istanza. Questo parametro è facoltativo e può essere NULL. Se questo parametro è NULL, la nuova istanza riceve il nome predefinito dell'istanza del minifilter come descritto nella sezione Osservazioni per FltAttachVolume.

[in, optional] dwCreatedInstanceNameLength

Lunghezza, in byte, del buffer a cui punta lpCreatedInstanceName . Questo parametro è facoltativo e può essere zero.

[out, optional] lpCreatedInstanceName

Puntatore a una variabile allocata dal chiamante che riceve il nome dell'istanza per la nuova istanza se l'istanza è collegata correttamente al volume. Questo parametro è facoltativo e può essere NULL. Se non è NULL, il buffer deve essere abbastanza grande per contenere INSTANCE_NAME_MAX_CHARS caratteri e un terminatore NULL.

Valore restituito

FilterAttach restituisce S_OK se riuscito. In caso contrario, restituisce un valore di errore, ad esempio uno dei seguenti.

Codice restituito Descrizione
ERROR_FLT_INSTANCE_ALTITUDE_COLLISION
Un'istanza esiste già in questa altitudine nel volume specificato.
ERROR_FLT_INSTANCE_NAME_COLLISION
Esiste già un'istanza con questo nome nel volume specificato.
ERROR_FILE_NOT_FOUND
Se lpInstanceName non è NULL, lpInstanceName non corrisponde a un nome dell'istanza di filtro registrata nel Registro di sistema.

Commenti

FilterAttach è l'equivalente Win32 di FltAttachVolume.

Il nome dell'istanza specificato in lpInstanceName deve essere univoco nel sistema.

Per collegare un'istanza di minifilter a un volume a una determinata altitudine, chiamare FilterAttachAtAltitude.

Per scollegare un'istanza di minifilter da un volume, chiamare FilterDetach.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione fltuser.h (include Fltuser.h)
Libreria FltLib.lib
DLL FltLib.dll

Vedi anche

FilterAttachAtAltitude

FilterDetach

FltAttachVolume