Compartir a través de


Función FilterAttach (fltuser.h)

La función FilterAttach asocia una nueva instancia de minifiltro al volumen especificado.

Sintaxis

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

Parámetros

[in] lpFilterName

Puntero a una cadena de caracteres anchos terminada en NULL que contiene el nombre del minifiltro para el que se va a crear una instancia. Este parámetro es obligatorio y no puede ser NULL.

[in] lpVolumeName

Puntero a una cadena de caracteres anchos terminada en NULL que contiene el nombre del volumen al que se va a adjuntar la instancia recién creada.

La cadena de entrada lpVolumeName puede ser cualquiera de las siguientes. La barra diagonal inversa final (\) es opcional.

  • Una letra de unidad, como "D:\"
  • Ruta de acceso a un punto de montaje de volumen, como "c:\mnt\edrive\"
  • Un identificador de volumen único (también denominado nombre GUID de volumen), como "\?? \Volume{7603f260-142a-11d4-ac67-806d6172696f}\"
  • Un nombre de dispositivo no persistente (también denominado nombre de destino o un nombre de dispositivo NT), como "\Device\HarddiskVolume1\"
El parámetro lpVolumeName es obligatorio y no puede ser NULL.

[in, optional] lpInstanceName

Puntero a una cadena de caracteres anchos terminada en NULL que contiene el nombre de instancia de la nueva instancia. Este parámetro es opcional y puede ser NULL. Si este parámetro es NULL, la nueva instancia recibe el nombre de instancia predeterminado del minifiltro, tal y como se describe en la sección Comentarios de FltAttachVolume.

[in, optional] dwCreatedInstanceNameLength

Longitud, en bytes, del búfer al que apunta lpCreatedInstanceName . Este parámetro es opcional y puede ser cero.

[out, optional] lpCreatedInstanceName

Puntero a una variable asignada por el autor de la llamada que recibe el nombre de instancia de la nueva instancia si la instancia se asocia correctamente al volumen. Este parámetro es opcional y puede ser NULL. Si no es NULL, el búfer debe ser lo suficientemente grande como para contener INSTANCE_NAME_MAX_CHARS caracteres más un terminador NULL.

Valor devuelto

FilterAttach devuelve S_OK si se ejecuta correctamente. De lo contrario, devuelve un valor de error como uno de los siguientes.

Código devuelto Descripción
ERROR_FLT_INSTANCE_ALTITUDE_COLLISION
Ya existe una instancia en esta altitud en el volumen especificado.
ERROR_FLT_INSTANCE_NAME_COLLISION
Ya existe una instancia con este nombre en el volumen especificado.
ERROR_FILE_NOT_FOUND
Si lpInstanceName no es NULL, lpInstanceName no coincide con un nombre de instancia de filtro registrado en el registro.

Comentarios

FilterAttach es el equivalente win32 de FltAttachVolume.

El nombre de instancia especificado en lpInstanceName debe ser único en todo el sistema.

Para adjuntar una instancia de minifiltro a un volumen a una altitud determinada, llame a FilterAttachAtAltitude.

Para desasociar una instancia de minifiltro de un volumen, llame a FilterDetach.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado fltuser.h (incluya Fltuser.h)
Library FltLib.lib
Archivo DLL FltLib.dll

Consulte también

FilterAttachAtAltitude

FilterDetach

FltAttachVolume