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


Функция PeerCollabAsyncInviteContact (p2p.h)

Функция PeerCollabAsyncInviteContact отправляет приглашение доверенному контакту однорангового узла присоединиться к совместной работе отправителя по защищенному соединению. Доступность ответа приглашения обновляется с помощью асинхронного события.

Синтаксис

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
);

Параметры

[in, optional] pcContact

Указатель на структуру PEER_CONTACT , содержащую контактные данные, связанные с получателем приглашения. Этот параметр является необязательным.

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

[in] pcEndpoint

Указатель на структуру PEER_ENDPOINT , содержащую сведения о конечной точке приглашенного однорангового узла. Конечная точка должна быть связана с одноранговым контактом, указанным в pcContact.

[in] pcInvitation

Указатель на структуру PEER_INVITATION , содержащую запрос приглашения для отправки в конечную точку, указанную в pcEndpoint. E_INVALIDARG возвращается, если для этого параметра задано значение NULL.

[in, optional] hEvent

Обработка события для этого приглашения, созданного при предыдущем вызове CreateEvent. Событие получает сигнал при обновлении состояния асинхронного приглашения. Чтобы получить данные ответа, вызовите PeerCollabGetInvitationResponse.

Если событие не указано, вызывающий объект должен опросить результат, вызвав PeerCollabGetInvitationResponse.

[optional] phInvitation

Указатель на дескриптор отправленного приглашения. Платформа будет очищать сведения об ответе после получения ответа приглашения, если задано значение NULL . Если значение NULL не является указанным дескриптором для предоставленного приглашения, его необходимо закрыть путем вызова PeerCollabCloseHandle.

Возвращаемое значение

Возвращает S_OK, если функция выполнена успешно. В противном случае функция возвращает одно из следующих значений.

Код возврата Описание
E_OUTOFMEMORY
Недостаточно памяти для поддержки этой операции.
E_INVALIDARG
Один из аргументов недопустим.
E_NOTIMPL
pcEndpoint имеет значение NULL.
PEER_E_NOT_INITIALIZED
Одноранговая инфраструктура Windows не инициализирована. Вызов соответствующей функции инициализации является обязательным.

Комментарии

Этот API гарантирует, что одноранговый узел, получающий приглашение, является контактом, указанным в качестве входных данных. Подключение завершится ошибкой, если конкретный контакт отсутствует в указанной конечной точке. Вместо менее безопасной точки PeerCollabAsyncInviteContact рекомендуется использовать PeerCollabAsyncInviteEndpoint.

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

Чтобы успешно получить приглашение, приложение должно быть зарегистрировано на компьютере получателя с помощью PeerCollabRegisterApplication. Кроме того, отправитель приглашения может вернуть коды сбоев, так как получатель отключил приглашения приложений.

Функция PeerCollabGetInvitiationResponse возвращает PEER_E_CONNECTION_FAILED, если контакт, которому отправляется приглашение, не принимает приглашения.

Если получатель принимает приглашения только от доверенных контактов, отправитель приглашения должен быть добавлен в хранилище контактов компьютера получателя. Отправитель должен быть добавлен в хранилище контактов перед попыткой приглашения. Чтобы добавить контакт в хранилище контактов, вызовите PeerCollabAddContact.

Чтобы отменить незавершенное приглашение, вызовите PeerCollabCancelInvitation.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header p2p.h
Библиотека P2P.lib
DLL P2P.dll

См. также раздел

PEER_CONTACT

PEER_ENDPOINT

PEER_INVITATION

Функции API одноранговой совместной работы

PeerCollabAddContact

PeerCollabCancelInvitation

PeerCollabCloseHandle

PeerCollabGetAppLaunchInfo

PeerCollabGetInvitationResponse