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


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

Функция PeerDistClientAddContentInformation добавляет сведения о содержимом, связанные с дескриптором содержимого , открытым PeerDistClientOpenContent.

Синтаксис

DWORD PeerDistClientAddContentInformation(
  [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

Число байтов в массиве pBuffer .

[in] pBuffer

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

[in] lpOverlapped

Указатель на структуру OVERLAPPED . Внутренний элемент структуры OVERLAPPED содержит состояние завершения асинхронной операции. Значения Offset и OffsetHigh зарезервированы и должны иметь значение 0.

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

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

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

Комментарии

Чтобы получить данные содержимого из службы однорангового распространения, клиент должен добавить сведения о содержимом, полученные с сервера содержимого, вызвав функцию PeerDistClientAddContentInformation . При добавлении всех данных о содержимом необходимо вызвать функцию PeerDistClientCompleteContentInformation . После завершения PeerDistClientCompleteContentInformation клиент может вызвать PeerDistClientStreamRead или PeerDistClientBlockRead для получения данных из системы однорангового распределения.

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

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

Требования

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

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

PeerDistClientCompleteContentInformation

PeerDistClientOpenContent

PeerDistStartup