Função FilterAttachAtAltitude (fltuser.h)
A função FilterAttachAtAltitude é uma função de suporte de depuração que anexa uma nova instância de minifiltro a um volume em uma altitude especificada, substituindo quaisquer configurações no arquivo INF (informações de instalação) do minifiltro.
Sintaxe
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
Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém o nome do minifiltro para o qual uma instância deve ser criada. Esse parâmetro é necessário e não pode ser NULL.
[in] lpVolumeName
Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém o nome do volume ao qual a instância recém-criada deve ser anexada.
A cadeia de caracteres de entrada lpVolumeName pode ser qualquer uma das opções a seguir. A barra invertida à direita (\) é opcional.
- Uma letra de unidade, como "D:\"
- Um caminho para um ponto de montagem de volume, como "c:\mnt\edrive\"
- Um identificador de volume exclusivo (também chamado de nome GUID de volume), como "\?? \Volume{7603f260-142a-11d4-ac67-806d6172696f}\"
- Um nome de dispositivo não persistente (também chamado de nome de destino ou nome de dispositivo NT), como "\Device\HarddiskVolume1\"
[in] lpAltitude
Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém um valor numérico especificando a posição de destino que a instância de minifiltro deve ocupar na pilha do volume. Quanto maior o número, maior a posição relativa na pilha. Uma cadeia de caracteres de altitude consiste em um ou mais dígitos no intervalo de 0 a 9 e pode incluir um único ponto decimal. O ponto decimal é opcional. Por exemplo, "100.123456" é uma cadeia de caracteres de altitude válida. Esse parâmetro é necessário e não pode ser NULL.
[in, optional] lpInstanceName
Ponteiro para uma cadeia de caracteres largos terminada em nulo que contém o nome da instância da nova instância. Esse parâmetro é opcional e pode ser NULL. Se esse parâmetro for NULL, a nova instância receberá o nome da instância padrão do minifiltro, conforme descrito na seção Comentários de FltAttachVolume.
[in, optional] dwCreatedInstanceNameLength
Comprimento, em bytes, do buffer para o qual lpCreatedInstanceName aponta. Esse parâmetro é opcional e pode ser zero.
[out, optional] lpCreatedInstanceName
Ponteiro para uma variável alocada pelo chamador que recebe o nome da instância da nova instância se a instância for anexada com êxito ao volume. Esse parâmetro é opcional e pode ser NULL. Se não for NULL, o buffer deverá ser grande o suficiente para manter INSTANCE_NAME_MAX_CHARS caracteres mais um terminador NULL.
Valor retornado
FilterAttachAtAltitude retorna S_OK se tiver êxito. Caso contrário, ele retornará um valor de erro, como um dos seguintes.
Código de retorno | Descrição |
---|---|
|
Uma instância já existe nessa altitude no volume especificado. |
|
Uma instância já existe com esse nome no volume especificado. |
Comentários
Um aplicativo só deve usar FilterAttachAtAltitude para depuração. Ele não deve chamar essa função em uma versão de varejo do aplicativo.
FilterAttachAtAltitude é o equivalente a Win32 de FltAttachVolumeAtAltitude.
O termo "altitude" refere-se à posição que uma instância ocupa (ou deve ocupar) na pilha de instâncias de minifiltro para um volume. Quanto maior a altitude, mais distante a instância fica do sistema de arquivos base na pilha. Somente uma instância pode ser anexada a uma determinada altitude em um determinado volume.
A altitude é especificada por uma cadeia de caracteres de altitude, que é uma matriz de caracteres largos que contém um ou mais dígitos decimais no intervalo de 0 a 9, e pode incluir um único ponto decimal. O ponto decimal é opcional. Por exemplo, "100.123456" e "03333" são cadeias de caracteres de altitude válidas.
A cadeia de caracteres "03333" representa uma altitude maior que "100,123456". (Zeros à esquerda e à direita são ignorados.) Em outras palavras, uma instância cuja altitude é "03333" está mais distante do sistema de arquivos base do que uma instância cuja altitude é "100,123456". No entanto, essa comparação só será significativa se ambas as instâncias estiverem anexadas ao mesmo volume.
O nome da instância retornado em lpCreatedInstanceName é exclusivo em todo o sistema.
Para desanexar uma instância de minifiltro de um volume, chame FilterDetach.
Requisitos
Plataforma de Destino | Universal |
Cabeçalho | fltuser.h (inclua Fltuser.h) |
Biblioteca | FltLib.lib |
DLL | FltLib.dll |