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


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

Обратный вызов PFNPEER_SECURE_RECORD указывает функцию, которую инфраструктура однорангового графирования вызывает для защиты записей.

Синтаксис

PFNPEER_SECURE_RECORD PfnpeerSecureRecord;

HRESULT PfnpeerSecureRecord(
  [in]  HGRAPH hGraph,
  [in]  PVOID pvContext,
  [in]  PPEER_RECORD pRecord,
  [in]  PEER_RECORD_CHANGE_TYPE changeType,
  [out] PPEER_DATA *ppSecurityData
)
{...}

Параметры

[in] hGraph

Указывает одноранговый граф, связанный с указанной записью.

[in] pvContext

Указатель на контекст безопасности. Этот параметр указывает на элемент pvContextструктуры PEER_SECURITY_INTERFACE .

[in] pRecord

Указатель на запись для защиты.

[in] changeType

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

[out] ppSecurityData

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

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

Если обратный вызов выполнен успешно, возвращаемое значение будет S_OK.

Комментарии

Этот обратный вызов вызывается всякий раз, когда приложение вызывает любой из методов, которые изменяют записи, например PeerGraphAddRecord или PeerGraphUpdateRecord. Этот обратный вызов
должен создавать данные, относящиеся к этой записи, например небольшую цифровую подпись, и возвращать их с помощью параметра ppSecurityData . Затем эти данные добавляются в запись в элементе securityData и проверяются методом, заданным элементом pfnValidateRecordPEER_SECURITY_INTERFACE.

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

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

Требования

Требование Значение
Минимальная версия клиента Windows XP с пакетом обновления 2 (SP2) [только классические приложения], Windows XP с пакетом обновления 1 (SP1) с дополнительным сетевым пакетом для Windows XP
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header p2p.h

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

PEER_DATA

PEER_RECORD

PEER_RECORD_CHANGE_TYPE

PEER_SECURITY_INTERFACE