Freigeben über


PeerPnrpStartResolve-Funktion (p2p.h)

Die PeerPnrpStartResolve-Funktion startet einen asynchronen Peernamenauflösungsvorgang.

Syntax

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerPnrpStartResolve(
  [in]           PCWSTR      pcwzPeerName,
  [in, optional] PCWSTR      pcwzCloudName,
  [in, optional] ULONG       cMaxEndpoints,
  [in]           HANDLE      hEvent,
  [out]          HRESOLUTION *phResolve
);

Parameter

[in] pcwzPeerName

Zeiger auf eine Zeichenfolge mit Nullende, die den Peernamen enthält, für den Endpunktadressen abgerufen werden.

[in, optional] pcwzCloudName

Zeiger auf eine Zeichenfolge mit Nullen, die den Namen der PNRP-Cloud enthält, unter der der Peername aufgelöst werden soll. Wenn NULL, wird die Auflösung für alle Clouds durchgeführt. Wenn PEER_PNRP_ALL_LINK_CLOUDS, wird die Auflösung für alle lokalen Linkclouds durchgeführt. Wenn "GLOBAL_" angegeben wird, erfolgt die Auflösung in der globalen Cloud.

[in, optional] cMaxEndpoints

Die maximale Anzahl von Endpunkten, die für den Peernamen zurückgegeben werden sollen.

[in] hEvent

Handle an das Ereignis, das signalisiert wird, wenn ein Peerendpunkt für den angegebenen Peernamen aufgelöst wird und bereit für die Nutzung durch Aufrufen von PeerPnrpGetEndpoint ist. Dieses Ereignis wird für jeden Vom PNRP-Dienst ermittelten Endpunkt signalisiert. Wenn PEER_NO_MORE durch einen Aufruf von PeerPnrpGetEndpoint zurückgegeben wird, wurden alle Endpunkte für diesen Peer gefunden.

[out] phResolve

Behandeln Sie diese Peernamenauflösungsanforderung. Dieses Handle muss peerPnrpEndResolve bereitgestellt werden, nachdem die Auflösungsereignisse ausgelöst wurden und die Endpunkte mit entsprechenden Aufrufen von PeerPnrpGetEndpoint abgerufen werden, oder wenn der Vorgang fehlschlägt.

Rückgabewert

Wenn der Funktionsaufruf erfolgreich ist, wird der Rückgabewert S_OK. Andernfalls wird einer der folgenden Werte zurückgegeben.

Rückgabecode Beschreibung
E_INVALIDARG
Einer der Parameter ist ungültig.
E_OUTOFMEMORY
Es ist nicht genügend Arbeitsspeicher vorhanden, um den angegebenen Vorgang auszuführen.

Hinweise

PeerPnrpStartResolve erstellt ein Handle für einen asynchronen Peernamenauflösungsvorgang.

Wenn ein Endpunkt gefunden wird, wird das in hEvent bereitgestellte Ereignishandle signalisiert, und PeerPnrpGetEndpoint muss von der Anwendung mit dem phResolve-Handle aufgerufen werden, um diesen Endpunkt abzurufen.

Das letzte Ereignis gibt den PEER_E_NO_MORE Fehlercode an, der angibt, dass alle Endpunkte gefunden wurden, die dem peernamen entsprechen, der peerpnrpStartResolve angegeben wurde. Zu diesem Zeitpunkt muss die Anwendung das Handle mit einem Aufruf von PeerPnrpEndResolve schließen.

Ein Handle muss in einem prozess getrennt von dem Prozess aufgelöst werden, in dem es registriert wurde. Wenn ein Handle innerhalb desselben Prozesses registriert und aufgelöst wird, wird es nicht erkannt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2 [nur Desktop-Apps],Windows XP mit SP1 mit dem Advanced Networking Pack für Windows XP
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile p2p.h
Bibliothek P2P.lib
DLL P2P.dll

Weitere Informationen

PeerPnrpEndResolve

PeerPnrpGetEndpoint

PeerPnrpResolve