Função PeerGraphGetNextItem (p2p.h)

A função PeerGraphGetNextItem obtém o próximo item ou itens em uma enumeração criada por uma chamada para as seguintes funções, que retornam um identificador de enumeração par:

Sintaxe

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerGraphGetNextItem(
  [in]      HPEERENUM hPeerEnum,
  [in, out] ULONG     *pCount,
  [out]     PVOID     **pppvItems
);

Parâmetros

[in] hPeerEnum

Manipule para uma enumeração.

[in, out] pCount

A entrada especifica o número de itens a serem obtidos.

A saída recebe o número real de itens obtidos.

Nota Se pCount for uma saída zero (0), o final da enumeração será atingido.
 

[out] pppvItems

Recebe uma matriz de ponteiros para os itens solicitados. O número de ponteiros contidos em uma matriz é especificado pelo valor de saída de pCount. Os dados reais retornados dependem do tipo de enumeração. Os tipos de estruturas retornadas são os seguintes: PEER_CONNECTION_INFO, PEER_NODE_INFO e PEER_RECORD

Retornar valor

Se a chamada de função for bem-sucedida, o valor retornado será S_OK. Caso contrário, ele retornará um dos valores a seguir.

Código de retorno Descrição
E_INVALIDARG
Um parâmetro não é válido.
E_OUTOFMEMORY
Não há memória suficiente para executar uma operação especificada.
PEER_E_NOT_INITIALIZED
O grafo deve ser inicializado com uma chamada para PeerGraphStartup antes de usar essa função.

Comentários

PpvItems gratuitos chamando PeerGraphFreeData quando os dados não são mais necessários.

O aplicativo pode solicitar um intervalo de itens a serem obtidos. A função retorna pCount ou menos itens.

Exemplos

O snippet de código a seguir mostra como usar PeerGraphGetNextItem para enumerar objetos e encerrar uma enumeração depois de concluir o processamento da enumeração.

//PeerGraphGetNextItem snippet
    // hPeerEnum is a handle to the enumeration obtained from a successful call to PeerGraphEnumConnections,
    // PeerGraphEnumNodes, PeerGraphEnumRecords, or PeerGraphSearchRecords.
    // Set count equal to the maximum number of items you want returned. To obtain a count of all the items
    // in the enumeration, call PeerGraphGetItemCount.
    // ppRecord is an array of pointers to PEER_RECORD objects.  PEER_CONNECTION_INFO and PEER_NODE_INFO structures
    // are also supported.
    HRESULT hr = PeerGraphGetNextItem(hPeerEnum, &count, (PVOID *)&ppRecord);
    if (FAILED(hr))
    {
        // Insert your code to handle the error here.
    }
    else
    {
        // Free the data obtained by PeerGraphGetNextItem.
        PeerGraphFreeData(ppRecord);
    }

    // If you are done with the enumeration, free the handle to the enumeration.
    PeerGraphEndEnumeration(hPeerEnum);

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP com SP2 [somente aplicativos da área de trabalho], Windows XP com SP1 com o Pacote de Rede Avançado paraWindows XP
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho p2p.h
Biblioteca P2PGraph.lib
DLL P2PGraph.dll

Confira também

PEER_CONNECTION_INFO

PEER_NODE_INFO

PEER_RECORD

PeerGraphEndEnumeration

PeerGraphEnumConnections

PeerGraphEnumNodes

PeerGraphEnumRecords

PeerGraphFreeData

PeerGraphSearchRecords