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


Функция PrjFillDirEntryBuffer2 (projectedfslib.h)

Предоставляет перечислению сведения для одного файла или каталога и позволяет вызывающей объекту указать расширенные сведения.

Синтаксис

HRESULT PrjFillDirEntryBuffer2(
  [in]           PRJ_DIR_ENTRY_BUFFER_HANDLE dirEntryBufferHandle,
  [in]           PCWSTR                      fileName,
  [in, optional] PRJ_FILE_BASIC_INFO         *fileBasicInfo,
  [in, optional] PRJ_EXTENDED_INFO           *extendedInfo
);

Параметры

[in] dirEntryBufferHandle

Непрозрачный дескриптор структуры, получающей сведения о заполненных записях.

[in] fileName

Указатель на строку, завершающуюся null, которая содержит имя записи.

[in, optional] fileBasicInfo

Основные сведения о заполняемой записи.

[in, optional] extendedInfo

Указатель на структуру PRJ_EXTENDED_INFO , указывающую расширенные сведения о заполняемой записи.

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

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) указывает, что в dirEntryBufferHandle недостаточно места для новой записи.

E_INVALIDARG указывает, что extendedInfo.InfoType нераспознан.

Комментарии

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

Если эта подпрограмма возвращает HRESULT_FROM_WIN32 (ERROR_INSUFFICIENT_BUFFER) при добавлении записи в перечисление, поставщик возвращает S_OK обратного вызова и ожидает следующего PRJ_GET_DIRECTORY_ENUMERATION_CB обратного вызова.

Поставщик возобновляет заполнение перечисления записью, добавляемой при получении HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER).

Если эта подпрограмма возвращает HRESULT_FROM_WIN32 (ERROR_INSUFFICIENT_BUFFER) для первой записи, добавленной во время вызова обратного вызова PRJ_GET_DIRECTORY_ENUMERATION_CB , поставщик должен вернуть HRESULT_FROM_WIN32 (ERROR_INSUFFICIENT_BUFFER) из обратного вызова.

Чтобы указать, что эта запись каталога предназначена для символьной ссылки, поставщик форматирует буфер с помощью одной структуры PRJ_EXTENDED_INFO и передает на него указатель в параметре extendedInfo . Поставщик задает поля структуры следующим образом:

  • extendedInfo.InfoType = PRJ_EXT_INFO_TYPE_SYMLINK
  • extendedInfo.NextInfoOffset = 0
  • extendedInfo.Symlink.TargetName = <path to the target of the symbolic link>

Требования

Требование Значение
Минимальная версия клиента Windows 10, версия 2004 (10.0; Сборка 19041)
Минимальная версия сервера Windows Server версии 2004 (10.0; Сборка 19041)
Целевая платформа Windows
Header projectedfslib.h