Функция 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 .
Значение | Значение |
---|---|
|
Данные возвращаются в 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 |