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


Функция PeerDistClientAddData (peerdist.h)

Функция PeerDistClientAddData используется для передачи содержимого в локальный кэш. Обычно это делается, когда не удается найти данные в локальной сети, как указано, когда PeerDistClientBlockRead или PeerDistClientStreamRead завершается с ERROR_TIMEOUT или PEERDIST_ERROR_MISSING_DATA.

Синтаксис

DWORD PeerDistClientAddData(
  [in] PEERDIST_INSTANCE_HANDLE hPeerDist,
  [in] PEERDIST_CONTENT_HANDLE  hContentHandle,
       DWORD                    cbNumberOfBytes,
  [in] PBYTE                    pBuffer,
  [in] LPOVERLAPPED             lpOverlapped
);

Параметры

[in] hPeerDist

PEERDIST_INSTANCE_HANDLE, возвращенный PeerDistStartup.

[in] hContentHandle

PEERDIST_CONTENT_HANDLE, возвращенный PeerDistClientOpenContent.

cbNumberOfBytes

Число байтов, добавляемых в локальный кэш.

[in] pBuffer

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

[in] lpOverlapped

Указатель на структуру OVERLAPPED . Смещение в байтах от начала содержимого, в которое добавляются эти данные, задается путем задания элементов Offset и OffsetHigh структуры OVERLAPPED . Элемент OffsetHigh ДОЛЖЕН иметь более высокие 32 бита байтового смещения, а член Offset ДОЛЖЕН иметь значение более низких 32 бита байтового смещения.

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

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

Код возврата Описание
ERROR_INVALID_PARAMETER
Один или несколько параметров недопустимы.
ERROR_INVALID_HANDLE
Недопустимый дескриптор hPeerDist или hContent.
ERROR_ACCESS_DISABLED_BY_POLICY
Эта функция отключена групповая политика.
PEERDIST_ERROR_SERVICE_UNAVAILABLE
Служба недоступна.

Комментарии

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

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

Требования

Требование Значение
Минимальная версия клиента Windows 7 Профессиональная [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header peerdist.h
Библиотека PeerDist.lib
DLL PeerDist.dll

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

PeerDistClientBlockRead

PeerDistClientStreamRead

PeerDistStartup