Функция FindFirstStreamW (fileapi.h)
Перечисляет первый поток с типом потока ::$DATA в указанном файле или каталоге.
Чтобы выполнить эту операцию как транзакцию, используйте функцию FindFirstStreamTransactedW .
Синтаксис
HANDLE FindFirstStreamW(
[in] LPCWSTR lpFileName,
[in] STREAM_INFO_LEVELS InfoLevel,
[out] LPVOID lpFindStreamData,
DWORD dwFlags
);
Параметры
[in] lpFileName
Полное имя файла.
[in] InfoLevel
Уровень сведений возвращаемых данных. Этот параметр является одним из значений в типе перечисления STREAM_INFO_LEVELS .
Значение | Значение |
---|---|
|
Данные возвращаются в WIN32_FIND_STREAM_DATA структуре. |
[out] lpFindStreamData
Указатель на буфер, который получает данные файлового потока. Формат этих данных зависит от значения параметра InfoLevel .
dwFlags
Зарезервировано для последующего использования. Этот параметр должен быть равен нулю.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение представляет собой дескриптор поиска, который можно использовать в последующих вызовах функции FindNextStreamW .
Если функция завершается неудачно, возвращается значение INVALID_HANDLE_VALUE. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Если потоки не найдены, функция завершается сбоем, и GetLastError возвращает ERROR_HANDLE_EOF (38).
Если файловая система не поддерживает потоки, функция завершается сбоем и GetLastError возвращает ERROR_INVALID_PARAMETER (87).
Комментарии
Функция FindFirstStreamW открывает дескриптор поиска и возвращает сведения о первом потоке $DATA в указанном файле или каталоге. Для файлов всегда используется поток данных без имени по умолчанию ::$DATA. Каталоги не имеют $DATA потоков по умолчанию и не могут иметь поток данных без имени, но могут иметь именованные потоки данных, заданные после их создания. После установки дескриптора поиска используйте его в вызовах функции FindNextStreamW для поиска других потоков в указанном файле или каталоге. Если дескриптор поиска больше не нужен, его следует закрыть с помощью функции FindClose .
В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Да |
SMB 3.0 Transparent Failover (TFO) | Да |
SMB 3.0 с масштабируемыми общими папками (SO) | Да |
Файловая система общего тома кластера (CSVFS) | Да |
Восстанавливаемая файловая система (ReFS) | Да |
SMB 3.0 поддерживает список потоков размером не более 64 КБ.
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | fileapi.h (включая Windows.h, WinBase.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |