Condividi tramite


Funzione PeerCollabAsyncInviteContact (p2p.h)

La funzione PeerCollabAsyncInviteContact invia un invito a un contatto peer attendibile per partecipare all'attività di collaborazione peer del mittente tramite una connessione protetta. La disponibilità della risposta di invito viene aggiornata tramite un evento asincrono.

Sintassi

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerCollabAsyncInviteContact(
  [in, optional] PCPEER_CONTACT    pcContact,
  [in]           PCPEER_ENDPOINT   pcEndpoint,
  [in]           PCPEER_INVITATION pcInvitation,
  [in, optional] HANDLE            hEvent,
  [optional]     HANDLE            *phInvitation
);

Parametri

[in, optional] pcContact

Puntatore a una struttura PEER_CONTACT contenente le informazioni di contatto associate al destinatario dell'invito. Questo parametro è facoltativo e,

Per invitare l'endpoint del peer chiamante specificato in pcEndpoint, impostare il valore del puntatore su NULL.

[in] pcEndpoint

Puntatore a una struttura PEER_ENDPOINT che contiene informazioni sull'endpoint del peer invitato. L'endpoint deve essere associato al contatto peer specificato in pcContact.

[in] pcInvitation

Puntatore a una struttura PEER_INVITATION che contiene la richiesta di invito a inviare all'endpoint specificato in pcEndpoint. E_INVALIDARG viene restituito se questo parametro è impostato su NULL.

[in, optional] hEvent

Gestire l'evento per questo invito, creato da una chiamata precedente a CreateEvent. L'evento viene segnalato quando viene aggiornato lo stato dell'invito asincrono. Per ottenere i dati della risposta, chiamare PeerCollabGetInvitationResponse.

Se l'evento non viene fornito, il chiamante deve eseguire il polling del risultato chiamando PeerCollabGetInvitationResponse.

[optional] phInvitation

Puntatore a un handle per l'invito inviato. Il framework pulisce le informazioni sulla risposta dopo la ricezione della risposta di invito se viene specificato NULL . Quando NULL non è l'handle specificato per l'invito specificato, deve essere chiuso chiamando PeerCollabCloseHandle.

Valore restituito

Restituisce S_OK se la funzione ha esito positivo. In caso contrario, la funzione restituisce uno dei valori seguenti.

Codice restituito Descrizione
E_OUTOFMEMORY
Memoria insufficiente per supportare questa operazione.
E_INVALIDARG
Uno degli argomenti non è valido.
E_NOTIMPL
pcEndpoint è NULL.
PEER_E_NOT_INITIALIZED
L'infrastruttura peer di Windows non viene inizializzata. È necessario chiamare la funzione di inizializzazione pertinente.

Commenti

Questa API garantisce che il peer che riceve l'invito sia il contatto specificato come input. La connessione avrà esito negativo se il contatto specifico non è presente nell'endpoint specificato. L'uso di PeerCollabAsyncInviteContact è consigliato al posto di PeerCollabAsyncInviteEndpoint meno sicuro.

Verrà visualizzato un avviso popup per il destinatario dell'invito. Questo avviso popup verrà convertito in una finestra di dialogo in cui l'utente può accettare o rifiutare l'invito. Quando l'invito viene accettato correttamente, l'applicazione collaborativa viene avviata nel computer del destinatario.

Per ricevere correttamente l'invito, l'applicazione deve essere registrata nel computer del destinatario usando PeerCollabRegisterApplication. È anche possibile che il mittente dell'invito abbia codici di errore restituiti perché il destinatario ha disattivato gli inviti dell'applicazione.

La funzione PeerCollabGetInvitiationResponse restituirà PEER_E_CONNECTION_FAILED se il contatto a cui viene inviato l'invito non accetta gli inviti.

Se il destinatario accetta inviti solo da contatti attendibili, il mittente dell'invito deve essere aggiunto all'archivio contatti del computer destinatario. Il mittente deve essere aggiunto all'archivio contatti prima del tentativo di invito. Per aggiungere un contatto all'archivio contatti, chiamare PeerCollabAddContact.

Per annullare un invito in sospeso, chiamare PeerCollabCancelInvitation.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Nessuno supportato
Piattaforma di destinazione Windows
Intestazione p2p.h
Libreria P2P.lib
DLL P2P.dll

Vedi anche

PEER_CONTACT

PEER_ENDPOINT

PEER_INVITATION

Funzioni API di collaborazione peer

PeerCollabAddContact

PeerCollabCancelInvitation

PeerCollabCloseHandle

PeerCollabGetAppLaunchInfo

PeerCollabGetInvitationResponse