PEER_EVENT_APPLICATION_CHANGED_DATA structure (p2p.h)

The PEER_EVENT_APPLICATION_CHANGED_DATA structure contains information returned when a PEER_EVENT_ENDPOINT_APPLICATION_CHANGED or PEER_EVENT_MY_APPLICATION_CHANGED event is raised on a peer participating in a peer collaboration network.

Syntax

typedef struct peer_event_application_changed_data_tag {
  PPEER_CONTACT     pContact;
  PPEER_ENDPOINT    pEndpoint;
  PEER_CHANGE_TYPE  changeType;
  PPEER_APPLICATION pApplication;
} PEER_EVENT_APPLICATION_CHANGED_DATA, *PPEER_EVENT_APPLICATION_CHANGED_DATA;

Members

pContact

Pointer to a PEER_CONTACT structure that contains the peer contact information for a contact whose change in application raised the event.

pEndpoint

Pointer to a PEER_ENDPOINT structure that contains the peer endpoint information for a contact whose change in application information raised the event.

changeType

PEER_CHANGE_TYPE enumeration value that specifies the type of application change that occurred.

pApplication

Pointer to a PEER_APPLICATION structure that contains the changed application information.

Remarks

"Application" is a set of software or software features available on the peer's endpoint. Commonly, this refers to software packages that support peer networking activities, like games or other collaborative applications.

A peer's application has a GUID representing a single specific application. When an application is registered for a peer, this GUID and the corresponding application can be made available to all trusted contacts of the peer, indicating the activities the peer can participate in. To deregister a peer's application, call PeerCollabUnregisterApplication with this GUID.

When a new application is registered locally using PeerCollabRegisterApplication or unregistered using PeerCollabUnregisterApplication all peers subscribed to the local peer's presence information receive the PEER_EVENT_ENDPOINT_APPLICATION_CHANGED event. Locally, applications receive the PEER_EVENT_MY_APPLICATION_CHANGED event.

The current user scope has priority over the all user scope. If the application is registered in both scopes, the event will be fired only if the current user scope is changed.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server None supported
Header p2p.h

See also

PEER_APPLICATION

PEER_CHANGE_TYPE

PEER_CONTACT

PEER_ENDPOINT

Peer Collaboration API Structures