Compartir a través de


Función FilterAttachAtAltitude (fltuser.h)

La función FilterAttachAtAltitude es una función de compatibilidad de depuración que asocia una nueva instancia de minifiltro a un volumen a una altitud especificada, reemplazando cualquier configuración en el archivo de información de configuración del minifiltro (INF).

Sintaxis

HRESULT FilterAttachAtAltitude(
  [in]            LPCWSTR lpFilterName,
  [in]            LPCWSTR lpVolumeName,
  [in]            LPCWSTR lpAltitude,
  [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\"
Este parámetro es obligatorio y no puede ser NULL.

[in] lpAltitude

Puntero a una cadena de caracteres anchos terminada en NULL que contiene un valor numérico que especifica la posición de destino que la instancia de minifiltro debe ocupar en la pila del volumen. Cuanto mayor sea el número, mayor será la posición relativa de la pila. Una cadena de altitud consta de uno o más dígitos en el intervalo comprendido entre 0 y 9, y puede incluir un único separador decimal. El separador decimal es opcional. Por ejemplo, "100.123456" es una cadena de altitud válida. Este parámetro 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

FilterAttachAtAltitude 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.

Comentarios

Una aplicación solo debe usar FilterAttachAtAltitude para la depuración. No debe llamar a esta función en una versión comercial de la aplicación.

FilterAttachAtAltitude es el equivalente win32 de FltAttachVolumeAtAltitude.

El término "altitud" hace referencia a la posición que ocupa una instancia (o debe ocupar) en la pila de instancias de minifiltro para un volumen. Cuanto mayor sea la altitud, más lejos estará la instancia del sistema de archivos base en la pila. Solo se puede adjuntar una instancia a una altitud determinada en un volumen determinado.

La altitud se especifica mediante una cadena de altitud, que es una matriz de caracteres anchos que contiene uno o varios dígitos decimales en el intervalo comprendido entre 0 y 9, y puede incluir un único separador decimal. El separador decimal es opcional. Por ejemplo, "100.123456" y "03333" son cadenas de altitud válidas.

La cadena "03333" representa una altitud mayor que "100,123456". (Se omiten los ceros iniciales y finales). En otras palabras, una instancia cuya altitud es "03333" está más lejos del sistema de archivos base que una instancia cuya altitud es "100,123456". Sin embargo, esta comparación solo es significativa si ambas instancias están asociadas al mismo volumen.

El nombre de instancia devuelto en lpCreatedInstanceName es único en todo el sistema.

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

Requisitos

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

Consulte también

FilterAttach

FilterDetach

FltAttachVolumeAtAltitude