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


Освобождение одноранговых данных

Все указатели, возвращаемые функциями одноранговой инфраструктуры, должны быть освобождены с помощью PeerGraphFreeData или PeerFreeData. Эти функции должны вызываться только для структур, которые напрямую возвращаются функцией одноранговой инфраструктуры. Не вызывайте другую функцию FreeData для освобождения вложенных указателей, например не вызывайте функцию FreeData на указателях в структуре PEER_RECORD.

Пример освобождения данных

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

PEER_GRAPH_PROPERTIES  * pGraphProperties = NULL;
HRESULT hr = PeerGraphGetProperties(hGraph, &pGraphProperties);
if (SUCCEEDED(hr) && (NULL != pGraphProperties))
{
  // use pGraphProperties
  wprintf(L"%d\n", pGraphProperties->pwzGraphId);

  // release the data
  PeerGraphFreeData(pGraphProperties);
}