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


Функция PeerGraphListen (p2p.h)

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

Синтаксис

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerGraphListen(
  [in] HGRAPH hGraph,
  [in] DWORD  dwScope,
  [in] DWORD  dwScopeId,
  [in] WORD   wPort
);

Параметры

[in] hGraph

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

[in] dwScope

Указывает область IPv6 для прослушивания. Допустимые значения указаны в следующей таблице. Дополнительные сведения о область см. в разделе Link-Local и адреса Site-Local.

Значение Значение
PEER_GRAPH_SCOPE_GLOBAL
Область включает Интернет.
PEER_GRAPH_SCOPE_SITELOCAL
Область ограничена сайтом, например корпоративной интрасетью.
PEER_GRAPH_SCOPE_LINKLOCAL
Область ограничена локальной подсетью.

[in] dwScopeId

Указывает идентификатор область IPv6 для прослушивания. Укажите ноль (0), чтобы прослушивать все интерфейсы указанного область.

Примечание Нулевой идентификатор область (0) не допускается, если dwScope является PEER_GRAPH_SCOPE_SITELOCAL или PEER_GRAPH_SCOPE_LINKLOCAL.
 

[in] wPort

Указывает порт для прослушивания. Укажите ноль (0), чтобы использовать динамический порт. Если указано ноль (0), используйте PeerGraphGetNodeInfo для получения данных.

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

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

Код возврата Описание
E_INVALIDARG
Один из параметров недопустим.
E_OUTOFMEMORY
Недостаточно памяти для выполнения указанной операции.
PEER_E_GRAPH_NOT_READY
Граф никогда не синхронизировался. Приложение не может ожидать передачи данных до синхронизации однорангового графа.
PEER_E_INVALID_GRAPH
Дескриптор однорангового графа недопустим.
PEER_E_NOT_INITIALIZED
Перед использованием этой функции граф необходимо инициализировать с помощью вызова PeerGraphStartup.

Комментарии

Чтобы иметь возможность принимать прямые подключения, узел должен подписаться на событие PEER_GRAPH_EVENT_DIRECT_CONNECTION .

Перед вызовом этой функции приложение должно вызвать PeerGraphCreate или PeerGraphOpen.

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

Примеры

В следующем фрагменте кода показано, как использовать функцию PeerGraphListen .

    // g_hGraph is a handle to the Graph obtained from a previous successful call to PeerGraphCreate or PeerGraphOpen.
    // dwScope should be set to the same scope used to create the graph.  This example assumes the graph was created in the Global scope.
    // g_usPort is the port to use for Graphing.  Use zero to obtain a port dynamically.
    HRESULT hr = PeerGraphListen(g_hGraph, PEER_GRAPH_SCOPE_GLOBAL, 0, g_usPort);

    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

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

PeerGraphConnect

PeerGraphCreate

PeerGraphGetNodeInfo

PeerGraphOpen