Функция PeerGraphUpdateRecord (p2p.h)
Функция PeerGraphUpdateRecord обновляет запись в одноранговом графе, а затем заполняет запись на каждый узел однорангового графа.
Синтаксис
NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerGraphUpdateRecord(
[in] HGRAPH hGraph,
[in] PPEER_RECORD pRecord
);
Параметры
[in] hGraph
Дескриптор однорангового графа.
[in] pRecord
Указатель на PEER_RECORD структуру, содержащую новые данные для записи.
Возвращаемое значение
Если вызов функции завершается успешно, возвращаемое значение будет S_OK. В противном случае возвращается одно из следующих значений.
Код возврата | Описание |
---|---|
|
Один из параметров недопустим. |
|
Одноранговый граф никогда не синхронизировался. Записи не могут быть обновлены, пока граф не будет синхронизирован. |
|
Дескриптор однорангового графа недопустим. |
|
Одноранговый граф необходимо инициализировать с помощью вызова PeerGraphStartup , прежде чем использовать эту функцию. |
|
Указанная запись не найдена. |
Комментарии
Можно изменить следующие элементы структуры PEER_RECORD :
- pwzAttributes
- ftExpiration — срок действия может быть только увеличен
- data
- pwzLastModified — заполняется по умолчанию, если значение не указано.
Примеры
В этом фрагменте кода показано, как обновить запись.
// dwFlags is updated to automatically refresh the record if it is about to expire.
record.dwFlags = PEER_RECORD_FLAG_AUTOREFRESH;
// The record data is updated with the string contained in pwzUserData.
record.data.cbData = (ULONG) wcslen(pwzUserData) * sizeof(WCHAR);
record.data.pbData = (PBYTE) pwzUserData;
HRESULT hr = PeerGraphUpdateRecord(hGraph, &record;);
if (FAILED(hr))
{
// Insert your code to handle the error here.
}
else
{
// Insert your application specific code here.
}
Требования
Минимальная версия клиента | Windows XP с пакетом обновления 2 (SP2) [только классические приложения], Windows XP с пакетом обновления 1 (SP1) с дополнительным сетевым пакетом для Windows XP |
Минимальная версия сервера | Ни одна версия не поддерживается |
Целевая платформа | Windows |
Header | p2p.h |
Библиотека | P2PGraph.lib |
DLL | P2PGraph.dll |