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


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

Определяемая приложением функция обратного вызова, используемая с WriteEncryptedFileRaw. Система вызывает ImportCallback один или несколько раз, каждый раз, чтобы получить часть данных файла резервной копии. ImportCallback последовательно считывает данные из файла резервной копии и восстанавливает данные, и система продолжает вызывать их, пока не считает все данные файла резервной копии.

Тип PFE_IMPORT_FUNC определяет указатель на эту функцию обратного вызова. ImportCallback — это заполнитель для имени функции, определяемой приложением.

Синтаксис

PFE_IMPORT_FUNC PfeImportFunc;

DWORD PfeImportFunc(
  [in]           PBYTE pbData,
  [in, optional] PVOID pvCallbackContext,
  [in, out]      PULONG ulLength
)
{...}

Параметры

[in] pbData

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

[in, optional] pvCallbackContext

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

[in, out] ulLength

В записи функции этот параметр указывает длину буфера, предоставленного системой. Функция обратного вызова должна записывать не более этого количества байтов в буфер, на который указывает параметр pbData .

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

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

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

Когда будет достигнут конец файла резервной копии, задайте для ulLength нулевое значение, чтобы сообщить системе, что весь файл был обработан.

Если функция завершается сбоем, задайте для возвращаемого значения ненулевой код ошибки, определенный в WinError.h. Например, если эта функция завершается сбоем из-за сбоя вызываемого API, можно задать возвращаемое значение, возвращаемое методом GetLastError для API, завершившемся сбоем.

Комментарии

Система вызывает функцию ImportCallback , пока функция обратного вызова не укажет, что больше нет данных для восстановления. Чтобы указать, что восстановить данные больше нет, задайте для параметра *ulLength значение 0 и используйте код возврата ERROR_SUCCESS. Определенный приложением контекстный блок можно использовать для внутреннего отслеживания информации, такой как дескриптор файла и текущее смещение в файле.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winbase.h (включая Windows.h)

См. также раздел

CloseEncryptedFileRaw

ExportCallback

Шифрование файлов

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

OpenEncryptedFileRaw

ReadEncryptedFileRaw

WriteEncryptedFileRaw