FilterAttach-Funktion (fltuser.h)

Die FilterAttach-Funktion fügt dem angegebenen Volume einen neuen Minifilter instance an.

Syntax

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

Parameter

[in] lpFilterName

Zeiger auf eine mit NULL endende Breitzeichenzeichenfolge, die den Namen des Minifilters enthält, für den ein instance erstellt werden soll. Dieser Parameter ist erforderlich und darf nicht NULL sein.

[in] lpVolumeName

Zeiger auf eine MIT NULL endende Breitzeichenzeichenfolge, die den Namen des Volumes enthält, an das die neu erstellte instance angefügt werden soll.

Die Eingabezeichenfolge lpVolumeName kann wie folgt aussehen. Der nachfolgende umgekehrte Schrägstrich (\) ist optional.

  • Ein Laufwerkbuchstabe, z. B. "D:\"
  • Ein Pfad zu einem Volumebereitstellungspunkt, z. B. "c:\mnt\edrive\"
  • Ein eindeutiger Volumebezeichner (auch als Volume-GUID-Name bezeichnet), z. B. "\?? \Volume{7603f260-142a-11d4-ac67-806d6172696f}\"
  • Ein nicht permanenter Gerätename (auch als Zielname oder NT-Gerätename bezeichnet), z. B. "\Device\HarddiskVolume1\"
Der lpVolumeName-Parameter ist erforderlich und darf nicht NULL sein.

[in, optional] lpInstanceName

Zeiger auf eine mit NULL beendete Breitzeichenzeichenfolge, die den instance Namen für die neue instance enthält. Dieser Parameter ist optional und kann NULL sein. Wenn dieser Parameter NULL ist, empfängt der neue instance den Standardnamen instance Minifilters, wie im Abschnitt Hinweise für FltAttachVolume beschrieben.

[in, optional] dwCreatedInstanceNameLength

Länge des Puffers, auf den lpCreatedInstanceName verweist, in Bytes. Dieser Parameter ist optional und kann null sein.

[out, optional] lpCreatedInstanceName

Zeiger auf eine vom Aufrufer zugewiesene Variable, die den instance Namen für die neue instance empfängt, wenn die instance erfolgreich an das Volume angefügt wurde. Dieser Parameter ist optional und kann NULL sein. Wenn er nicht NULL ist, muss der Puffer groß genug sein, um INSTANCE_NAME_MAX_CHARS Zeichen plus einem NULL-Abschlusszeichen zu enthalten.

Rückgabewert

FilterAttach gibt bei erfolgreicher Ausführung S_OK zurück. Andernfalls wird ein Fehlerwert wie einer der folgenden zurückgegeben.

Rückgabecode Beschreibung
ERROR_FLT_INSTANCE_ALTITUDE_COLLISION
Ein instance in dieser Höhe auf der angegebenen Lautstärke bereits vorhanden.
ERROR_FLT_INSTANCE_NAME_COLLISION
Auf dem angegebenen Volume ist bereits eine instance mit diesem Namen vorhanden.
ERROR_FILE_NOT_FOUND
Wenn lpInstanceName nicht NULL ist, stimmt lpInstanceName nicht mit einem registrierten Filter instance Namen in der Registrierung überein.

Hinweise

FilterAttach ist die Win32-Entsprechung von FltAttachVolume.

Der in lpInstanceName angegebene instance Name muss im gesamten System eindeutig sein.

Um einen Minifilter instance an ein Volume in einer bestimmten Höhe anzufügen, rufen Sie FilterAttachAtAltitude auf.

Um einen Minifilter instance von einem Volume zu trennen, rufen Sie FilterDetach auf.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltuser.h (fltuser.h einschließen)
Bibliothek FltLib.lib
DLL FltLib.dll

Weitere Informationen

FilterAttachAtAltitude

FilterDetach

FltAttachVolume