Função FindFirstStreamW (fileapi.h)

Enumera o primeiro fluxo com um tipo de fluxo ::$DATA no arquivo ou diretório especificado.

Para executar essa operação como uma operação transacionada, use a função FindFirstStreamTransactedW .

Sintaxe

HANDLE FindFirstStreamW(
  [in]  LPCWSTR            lpFileName,
  [in]  STREAM_INFO_LEVELS InfoLevel,
  [out] LPVOID             lpFindStreamData,
        DWORD              dwFlags
);

Parâmetros

[in] lpFileName

O nome do arquivo totalmente qualificado.

[in] InfoLevel

O nível de informações dos dados retornados. Esse parâmetro é um dos valores no tipo de enumeração STREAM_INFO_LEVELS .

Valor Significado
FindStreamInfoStandard
0
Os dados são retornados em uma estrutura WIN32_FIND_STREAM_DATA .

[out] lpFindStreamData

Um ponteiro para um buffer que recebe os dados do fluxo de arquivos. O formato desses dados depende do valor do parâmetro InfoLevel .

dwFlags

Reservado para uso futuro. Esse parâmetro deve ser zero.

Valor retornado

Se a função for bem-sucedida, o valor retornado será um identificador de pesquisa que pode ser usado em chamadas subsequentes para a função FindNextStreamW .

Se houver falha na função, o valor retornado será INVALID_HANDLE_VALUE. Para obter informações de erro estendidas, chame GetLastError.

Se nenhum fluxo puder ser encontrado, a função falhará e GetLastError retornará ERROR_HANDLE_EOF (38).

Se o sistema de arquivos não der suporte a fluxos, a função falhará e GetLastError retornará ERROR_INVALID_PARAMETER (87).

Comentários

A função FindFirstStreamW abre um identificador de pesquisa e retorna informações sobre o primeiro fluxo $DATA no arquivo ou diretório especificado. Para arquivos, esse é sempre o fluxo de dados sem nome padrão, "::$DATA". Os diretórios não têm fluxos de $DATA por padrão e não podem ter um fluxo de dados sem nome, mas podem ter chamado fluxos de dados definidos depois de terem sido criados. Depois que o identificador de pesquisa tiver sido estabelecido, use-o em chamadas para a função FindNextStreamW para pesquisar outros fluxos no arquivo ou diretório especificado. Quando o identificador de pesquisa não for mais necessário, ele deverá ser fechado usando a função FindClose .

No Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.

Tecnologia Com suporte
Protocolo SMB (SMB) 3.0 Sim
TFO (Failover transparente) do SMB 3.0 Sim
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Sim
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Sim
 

O SMB 3.0 dá suporte à lista de fluxos menores ou iguais a 64K.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho fileapi.h (inclua Windows.h, WinBase.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Funções de gerenciamento de arquivos

FindClose

FindFirstStreamTransactedW

FindNextStreamW

STREAM_INFO_LEVELS

WIN32_FIND_STREAM_DATA