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


функция обратного вызова PRJ_START_DIRECTORY_ENUMERATION_CB (projectedfslib.h)

Сообщает поставщику о запуске перечисления каталогов.

Синтаксис

PRJ_START_DIRECTORY_ENUMERATION_CB PrjStartDirectoryEnumerationCb;

HRESULT PrjStartDirectoryEnumerationCb(
  [in] const PRJ_CALLBACK_DATA *callbackData,
  [in] const GUID *enumerationId
)
{...}

Параметры

[in] callbackData

Сведения об операции. Для реализации этого обратного вызова необходимы следующие члены callbackData :

FilePathName Определяет каталог для перечисления.
VersionInfo Предоставляет сведения о версии для перечисляемого каталога.

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

[in] enumerationId

Идентификатор для этого сеанса перечисления.

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

Код возврата Описание
S_OK
Поставщик успешно завершил операцию.
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
Перечисляемый каталог не существует в резервном хранилище поставщика.
HRESULT_FROM_WIN32(ERROR_IO_PENDING)
Поставщик хочет завершить операцию позже.
 

Соответствующий код ошибки HRESULT, если поставщик не выполняет операцию.

Комментарии

ProjFS запрашивает перечисление каталога у поставщика, сначала вызывая этот обратный вызов, затем один или несколько PRJ_GET_DIRECTORY_ENUMERATION_CB обратных вызовов, а затем обратный вызов PRJ_END_DIRECTORY_ENUMERATION_CB . Так как несколько перечислений могут выполняться параллельно в одном расположении, ProjFS использует аргумент enumerationId для связывания вызовов обратного вызова в один сеанс перечисления. Это означает, что заданный набор вызовов обратных вызовов перечисления будет использовать одно и то же значение для enumerationId для одного сеанса.

Требования

Требование Значение
Минимальная версия клиента Windows 10, версия 1809 [только классические приложения]
Минимальная версия сервера Windows Server [только классические приложения]
Целевая платформа Windows
Header projectedfslib.h