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\"
[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 |
---|---|
|
Ya existe una instancia en esta altitud en el volumen especificado. |
|
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 |