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 |
---|---|
|
Memoria insufficiente per supportare questa operazione. |
|
Uno degli argomenti non è valido. |
|
pcEndpoint è NULL. |
|
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 |