Função FindFirstStreamTransactedW (winbase.h)

[A Microsoft recomenda fortemente que os desenvolvedores utilizem meios alternativos para atender às necessidades do seu aplicativo. Muitos cenários para os quais o TxF foi desenvolvido podem ser obtidos por meio de técnicas mais simples e prontamente disponíveis. Além disso, o TxF pode não estar disponível em versões futuras do Microsoft Windows. Para obter mais informações e alternativas ao TxF, confira Alternativas ao uso do NTFS transacional.]

Enumera o primeiro fluxo no arquivo ou diretório especificado como uma operação transacionada.

Sintaxe

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

Parâmetros

[in] lpFileName

O nome de arquivo totalmente qualificado.

O arquivo deve residir no computador local; caso contrário, a função falhará e o último código de erro será definido como ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE (6805).

[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 arquivo. O formato desses dados depende do valor do parâmetro InfoLevel .

dwFlags

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

[in] hTransaction

Um identificador para a transação. Esse identificador é retornado pela função CreateTransaction .

Retornar valor

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.

Comentários

Todos os arquivos contêm um fluxo de dados padrão. No NTFS, os arquivos também podem conter um ou mais fluxos de dados nomeados. Em sistemas de arquivos FAT, os arquivos não podem ter mais do que o fluxo de dados padrão e, portanto, essa função não retornará resultados válidos quando usada em arquivos fat filesystem. Essa função funciona em todos os sistemas de arquivos que dão suporte a links rígidos; caso contrário, a função retornará ERROR_STATUS_NOT_IMPLEMENTED (6805).

A função FindFirstStreamTransactedW abre um identificador de pesquisa e retorna informações sobre o primeiro fluxo no arquivo ou diretório especificado. Para arquivos, esse é sempre o fluxo de dados padrão, ::$DATA. Depois que o identificador de pesquisa tiver sido estabelecido, use-o na 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 No
TFO (Failover transparente) do SMB 3.0 No
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) No
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) No
ReFS (Sistema de Arquivos Resiliente) No
 

O SMB 3.0 não dá suporte a TxF.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winbase.h (incluir Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Funções de gerenciamento de arquivos

FindClose

FindNextStreamW

STREAM_INFO_LEVELS

NTFS transacional

WIN32_FIND_STREAM_DATA