Função FilterFindFirst (fltuser.h)
A função FilterFindFirst retorna informações sobre um driver de filtro (instância de driver de minifiltro ou driver de filtro herdado) e é usada para começar a examinar os filtros na lista global de filtros registrados.
Sintaxe
HRESULT FilterFindFirst(
[in] FILTER_INFORMATION_CLASS dwInformationClass,
[out] LPVOID lpBuffer,
[in] DWORD dwBufferSize,
[out] LPDWORD lpBytesReturned,
[out] LPHANDLE lpFilterFind
);
Parâmetros
[in] dwInformationClass
Tipo de informações de driver de filtro solicitadas. Esse parâmetro deve usar um dos valores a seguir.
Valor | Significado |
---|---|
FilterFullInformation | O buffer apontado pelo parâmetro lpBuffer recebe uma estrutura FILTER_FULL_INFORMATION para cada instância de minifiltro. Os filtros herdados são ignorados. |
FilterAggregateBasicInformation | O buffer apontado pelo parâmetro lpBuffer recebe uma estrutura FILTER_AGGREGATE_BASIC_INFORMATION para cada instância de minifiltro ou filtro herdado. Esse valor dwInformationClass está disponível a partir do Windows Server 2003 com SP1 e Windows XP com SP2 com rollup do gerenciador de filtros. Para obter mais informações sobre o pacote cumulativo cumulativo de atualizações do gerenciador de filtros para Windows XP com SP2, consulte o artigo 914882, " O pacote cumulativo de atualizações do gerenciador de filtros para Windows XP SP2", na Base de Dados de Conhecimento Microsoft. |
FilterAggregateStandardInformation | O buffer apontado pelo parâmetro lpBuffer recebe uma estrutura FILTER_AGGREGATE_STANDARD_INFORMATION para cada instância de minifiltro ou filtro herdado. Esse valor dwInformationClass está disponível a partir do Windows Vista. |
[out] lpBuffer
Ponteiro para um buffer alocado pelo chamador que recebe as informações solicitadas. O tipo das informações retornadas no buffer é definido pelo parâmetro dwInformationClass .
[in] dwBufferSize
Tamanho, em bytes, do buffer para o qual o parâmetro lpBuffer aponta. O chamador deve definir esse parâmetro de acordo com o dwInformationClass especificado.
[out] lpBytesReturned
Ponteiro para uma variável alocada pelo chamador que recebe o número de bytes retornados no buffer para o qual lpBuffer aponta se a chamada para FilterFindFirst for bem-sucedida. Esse parâmetro é necessário e não pode ser NULL.
[out] lpFilterFind
Ponteiro para uma variável alocada pelo chamador que recebe um identificador de pesquisa para o driver de filtro se a chamada para FilterFindFirst for bem-sucedida; caso contrário, ele receberá INVALID_HANDLE_VALUE. Esse identificador de pesquisa pode ser usado em chamadas subsequentes para FilterFindNext e FilterFindClose.
Retornar valor
FilterFindFirst retornará S_OK se tiver êxito. Caso contrário, ele retornará um valor de erro HRESULT, como um dos seguintes:
Código de retorno | Descrição |
---|---|
|
O buffer apontado por lpBuffer não é grande o suficiente para conter as informações solicitadas. Quando esse valor é retornado, lpBytesReturned conterá o tamanho, em bytes, do buffer necessário para a estrutura dwInformationClass fornecida. |
|
Um valor inválido foi especificado para o parâmetro dwInformationClass . Por exemplo, se FilterAggregateStandardInformation for especificado para um sistema operacional antes do Windows Vista, FilterFindFirst retornará esse valor HRESULT. |
|
Um driver de filtro não foi encontrado na lista global de filtros registrados. |
Comentários
A função FilterFindFirst abre um identificador de pesquisa e retorna informações sobre o primeiro driver de filtro encontrado na lista global de filtros registrados. Depois que o identificador de pesquisa tiver sido estabelecido, chame a função FilterFindNext para pesquisar outros filtros na lista global. Quando o identificador de pesquisa não for mais necessário, feche-o chamando FilterFindClose.
A partir do Microsoft Windows Server 2003 com SP1 e Windows XP com Service Pack 1 (SP1) com rollup do gerenciador de filtros, FilterFindFirst e FilterFindNext podem fornecer informações de driver de filtro herdado e informações de instância do driver de minifiltro. Em versões anteriores do Windows, FilterFindFirst e FilterFindNext só podem fornecer informações sobre minifiltros (consulte a descrição do parâmetro dwInformationClass acima).
FilterFindFirst e FilterFindNext retornam informações sobre drivers de filtro para diminuir a distância do sistema de arquivos base. As informações sobre o filtro mais distante do sistema de arquivos base são retornadas primeiro. As informações sobre o segundo filtro mais distante são retornadas em segundo lugar. As informações sobre o filtro mais próximo do sistema de arquivos base são retornadas por último.
Se o dwBufferSize de entrada for muito pequeno, lpFilterFind receberá INVALID_HANDLE_VALUE e lpBytesReturned receberá o número de bytes necessários para armazenar as informações solicitadas.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | fltuser.h (inclua FltUser.h) |
Biblioteca | FltLib.lib |
DLL | FltLib.dll |
Confira também
FILTER_AGGREGATE_BASIC_INFORMATION