Поделиться через


Функция FindFirstStreamTransactedW (winbase.h)

[Корпорация Майкрософт настоятельно рекомендует разработчикам использовать альтернативные средства для удовлетворения потребностей вашего приложения. Многие сценарии, для которые был разработан TxF, могут быть реализованы с помощью более простых и доступных методов. Кроме того, TxF может быть недоступен в будущих версиях Microsoft Windows. Дополнительные сведения и альтернативы TxF см. в статье Альтернативы использованию транзакционной NTFS.]

Перечисляет первый поток в указанном файле или каталоге в виде транзакции.

Синтаксис

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

Параметры

[in] lpFileName

Полное имя файла.

Файл должен находиться на локальном компьютере; В противном случае функция завершается сбоем, а для последнего кода ошибки задано значение ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE (6805).

[in] InfoLevel

Уровень сведений возвращаемых данных. Этот параметр является одним из значений в типе перечисления STREAM_INFO_LEVELS .

Значение Значение
FindStreamInfoStandard
0
Данные возвращаются в WIN32_FIND_STREAM_DATA структуре.

[out] lpFindStreamData

Указатель на буфер, получающий данные файла. Формат этих данных зависит от значения параметра InfoLevel .

dwFlags

Зарезервировано для последующего использования. Этот параметр должен быть равен нулю.

[in] hTransaction

Дескриптор транзакции. Этот дескриптор возвращается функцией CreateTransaction .

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение представляет собой дескриптор поиска, который можно использовать в последующих вызовах функции FindNextStreamW .

Если функция завершается неудачно, возвращается значение INVALID_HANDLE_VALUE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Все файлы содержат поток данных по умолчанию. В NTFS файлы также могут содержать один или несколько именованных потоков данных. В файловых системах FAT файлы не могут иметь больше, чем поток данных по умолчанию, поэтому эта функция не возвращает допустимые результаты при использовании в файлах файловой системы FAT. Эта функция работает со всеми файловыми системами, поддерживающими жесткие связи; В противном случае функция возвращает ERROR_STATUS_NOT_IMPLEMENTED (6805).

Функция FindFirstStreamTransactedW открывает дескриптор поиска и возвращает сведения о первом потоке в указанном файле или каталоге. Для файлов это всегда поток данных по умолчанию: ::$DATA. После установки дескриптора поиска используйте его в функции FindNextStreamW для поиска других потоков в указанном файле или каталоге. Если дескриптор поиска больше не нужен, его следует закрыть с помощью функции FindClose .

В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.

Технология Поддерживается
Протокол SMB 3.0 Нет
Прозрачная отработка отказа (TFO) SMB 3.0 Нет
SMB 3.0 с масштабируемыми общими папками (SO) Нет
Файловая система общего тома кластера (CSVFS) Нет
Восстанавливаемая файловая система (ReFS) Нет
 

SMB 3.0 не поддерживает TxF.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Функции управления файлами

FindClose

FindNextStreamW

STREAM_INFO_LEVELS

Поддержка транзакций в NTFS

WIN32_FIND_STREAM_DATA