Edit

Share via


Peer-to-Peer

Overview of the Peer-to-Peer technology.

To develop Peer-to-Peer, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
DRT_ADDRESS_FLAGS

DRT_ADDRESS_FLAGS enumeration.
DRT_EVENT_TYPE

The DRT_EVENT_TYPE enumeration defines the set of events that can be raised by the Distributed Routing Table.
DRT_LEAFSET_KEY_CHANGE_TYPE

The DRT_LEAFSET_KEY_CHANGE_TYPE enumeration defines the set of changes that can occur on nodes in the leaf set of a locally registered key.
DRT_MATCH_TYPE

The DRT_MATCH_TYPE enumeration defines the exactness of a search result returned by DrtGetSearchResult after initiating a search with the DrtStartSearch API.
DRT_REGISTRATION_STATE

The DRT_REGISTRATION_STATE enumeration defines the set of legal states for a registered key.
DRT_SCOPE

The DRT_SCOPE enumeration defines the set of IPv6 scopes in which DRT operates while using the IPv6 UDP transport created by DrtCreateIpv6UdpTransport.
DRT_SECURITY_MODE

The DRT_SECURITY_MODE enumeration defines possible security modes for the DRT. The security mode is specified by a field of the DRT_SETTINGS structure.
DRT_STATUS

The DRT_STATUS enumeration defines the status of a local DRT instance.
PEER_APPLICATION_REGISTRATION_TYPE

The PEER_APPLICATION_REGISTRATION_TYPE enumeration defines the set of peer application registration flags.
PEER_CHANGE_TYPE

The PEER_CHANGE_TYPE enumeration defines the set of changes that were performed on a peer object, endpoint, or application in a peer event. It is used to qualify the peer event associated with the change type.
PEER_COLLAB_EVENT_TYPE

The PEER_COLLAB_EVENT_TYPE enumeration defines the set of events that can be raised on a peer by the peer collaboration network event infrastructure.
PEER_CONNECTION_FLAGS

The PEER_CONNECTION_FLAGS enumeration specifies the types of connections that a peer can have.
PEER_CONNECTION_STATUS

The PEER_CONNECTION_STATUS enumeration specifies the status of a peer direct or neighbor connection.
PEER_GRAPH_EVENT_TYPE

The PEER_GRAPH_EVENT_TYPE enumeration specifies peer event types the application is to be notified for.
PEER_GRAPH_PROPERTY_FLAGS

The PEER_GRAPH_PROPERTY_FLAGS enumeration specifies properties of a peer graph.
PEER_GRAPH_SCOPE

The PEER_GRAPH_SCOPE enumeration specifies the network scope of a peer graph.
PEER_GRAPH_STATUS_FLAGS

The PEER_GRAPH_STATUS_FLAGS enumeration is a set of flags that show the current status of a node within the peer graph.
PEER_GROUP_AUTHENTICATION_SCHEME

Defines the set of possible authentication schemes that can be used to authenticate peers joining a peer group.
PEER_GROUP_EVENT_TYPE

The PEER_GROUP_EVENT_TYPE enumeration contains the specific peer event types that can occur within a peer group.
PEER_GROUP_ISSUE_CREDENTIAL_FLAGS

. (PEER_GROUP_ISSUE_CREDENTIAL_FLAGS)
PEER_GROUP_PROPERTY_FLAGS

The PEER_GROUP_PROPERTY_FLAGS flags are used to specify various peer group membership settings.
PEER_GROUP_STATUS

The PEER_GROUP_STATUS flags indicate whether or not the peer group has connections present.
PEER_INVITATION_RESPONSE_TYPE

Defines the type of response received to an invitation to start a Peer Collaboration activity.
PEER_MEMBER_CHANGE_TYPE

The PEER_MEMBER_CHANGE_TYPE enumeration defines the set of possible peer group membership and presence states for a peer.
PEER_MEMBER_FLAGS

The PEER_MEMBER_FLAGS flag allows an application to specify whether all members or only present ones should be enumerated when the PeerGroupEnumMembers function is called, or to indicate whether or not a member is present within the peer group.
PEER_NODE_CHANGE_TYPE

The PEER_NODE_CHANGE_TYPE enumeration specifies the types of peer node graph status changes.
PEER_PRESENCE_STATUS

The PEER_PRESENCE_STATUS enumeration defines the set of possible presence status settings available to a peer that participates in a peer collaboration network.
PEER_PUBLICATION_SCOPE

Defines the set of scopes for the publication of peer objects or data.
PEER_RECORD_CHANGE_TYPE

The PEER_RECORD_CHANGE_TYPE enumeration specifies the changes that can occur to a record.
PEER_RECORD_FLAGS

The PEER_RECORD_FLAGS enumeration specifies a set of flags for peer record behaviors.
PEER_SIGNIN_FLAGS

The PEER_SIGNIN_FLAGS enumeration defines the set of peer presence publication behaviors available when the peer signs in to a peer collaboration network.
PEER_WATCH_PERMISSION

Defines whether a peer contact can receive presence updates from a contact.
PEERDIST_CLIENT_INFO_BY_HANDLE_CLASS

The PEERDIST_CLIENT_INFO_BY_HANDLE_CLASS enumeration defines the possible client information values.
PEERDIST_STATUS

PEERDIST_STATUS enumeration defines the possible status values of the Peer Distribution service.
PNRP_CLOUD_FLAGS

The PNRP_CLOUD_FLAGS enumeration specifies the validity of a cloud name.
PNRP_CLOUD_STATE

The PNRP_CLOUD_STATE enumeration specifies the different states a PNRP cloud can be in.
PNRP_RESOLVE_CRITERIA

The PNRP_RESOLVE_CRITERIA enumeration specifies the criteria that PNRP uses to resolve searches.

Functions

 
DrtClose

DrtClose function closes the local instance of the DRT.
DrtContinueSearch

DrtContinueSearch function continues an iterative search for a key.
DrtCreateDerivedKey

DrtCreateDerivedKey function creates a key that can be utilized by DrtRegisterKey when the DRT is using a derived key security provider.
DrtCreateDerivedKeySecurityProvider

DrtCreateDerivedKeySecurityProvider function creates the derived key security provider for a Distributed Routing Table.
DrtCreateDnsBootstrapResolver

The DrtCreateDnsBootstrapResolver function creates a bootstrap resolver that will use the GetAddrInfo system function to resolve the hostname of a will known node already present in the DRT mesh.
DrtCreateIpv6UdpTransport

DrtCreateIpv6UdpTransport function creates a transport based on the IPv6 UDP protocol.
DrtCreateNullSecurityProvider

DrtCreateNullSecurityProvider function creates a null security provider. This security provider does not require nodes to authenticate keys.
DrtCreatePnrpBootstrapResolver

DrtCreatePnrpBootstrapResolver.
DrtDeleteDerivedKeySecurityProvider

DrtDeleteDerivedKeySecurityProvider function deletes a derived key security provider for a Distributed Routing Table.
DrtDeleteDnsBootstrapResolver

DrtDeleteDnsBootstrapResolver function deletes a DNS Bootstrap Provider instance.
DrtDeleteIpv6UdpTransport

DrtDeleteIpv6UdpTransport function deletes a transport based on the IPv6 UDP protocol.
DrtDeleteNullSecurityProvider

DrtDeleteNullSecurityProvider function deletes a null security provider for a Distributed Routing Table.
DrtDeletePnrpBootstrapResolver

DrtDeletePnrpBootstrapResolver function deletes a bootstrap resolver based on the Peer Name Resolution Protocol (PNRP).
DrtEndSearch

DrtEndSearch function cancels a search for a key in a DRT.
DrtGetEventData

DrtGetEventData function retrieves event data associated with a signaled event.
DrtGetEventDataSize

DrtGetEventDataSize function returns the size of the DRT_EVENT_DATA structure associated with a signaled event.
DrtGetInstanceName

DrtGetInstanceName function retrieves the full name of the Distributed Routing Table instance that corresponds to the specified DRT handle.
DrtGetInstanceNameSize

The DrtGetInstanceNameSize function returns the size of the Distributed Routing Table instance name.
DrtGetSearchPath

DrtGetSearchPath function returns a list of nodes contacted during the search operation.
DrtGetSearchPathSize

DrtGetSearchPathSize function returns the size of the search path, which represents the number of nodes utilized in the search operation.
DrtGetSearchResult

DrtGetSearchResult function.
DrtGetSearchResultSize

DrtGetSearchResultSize function returns the size of the next available search result.
DrtOpen

DrtOpen function creates a local Distributed Routing Table instance against criteria specified by the DRT_SETTINGS structure.
DrtRegisterKey

The DrtRegisterKey function registers a key in the DRT.
DrtStartSearch

The DrtStartSearch function searches the DRT for a key using criteria specified in the DRT_SEARCH_INFO structure.
DrtUnregisterKey

The DrtUnregisterKey function deregisters a key from the DRT.
DrtUpdateKey

DrtUpdateKey function updates the application data associated with a registered key.
PeerCollabAddContact

Adds a contact to the contact list of a peer.
PeerCollabAsyncInviteContact

Sends an invitation to a trusted peer contact to join the sender's peer collaboration activity over a secured connection. The availability of the invitation response is updated through an asynchronous event.
PeerCollabAsyncInviteEndpoint

Sends an invitation to a specified peer endpoint to join the sender's peer collaboration activity. The availability of the response to the invitation is updated through an asynchronous event.
PeerCollabCancelInvitation

Cancels an invitation previously sent by the caller to a contact.
PeerCollabCloseHandle

Closes the handle to a Peer Collaboration activity invitation.
PeerCollabDeleteContact

Deletes a contact from the local contact store associated with the caller.
PeerCollabDeleteEndpointData

Deletes the peer endpoint data on the calling peer node that matches the supplied endpoint data.
PeerCollabDeleteObject

Deletes a peer object from the calling endpoint.
PeerCollabEnumApplicationRegistrationInfo

Obtains the enumeration handle used to retrieve peer application information.
PeerCollabEnumApplications

Returns the handle to an enumeration that contains the applications registered to a specific peer's endpoint(s).
PeerCollabEnumContacts

Returns a handle to an enumerated set that contains all of the peer collaboration network contacts currently available on the calling peer.
PeerCollabEnumEndpoints

Returns the handle to an enumeration that contains the endpoints associated with a specific peer contact.
PeerCollabEnumObjects

Returns the handle to an enumeration that contains the peer objects associated with a specific peer's endpoint.
PeerCollabEnumPeopleNearMe

Returns a handle to an enumerated set that contains all of the peer collaboration network "people near me" endpoints currently available on the subnet of the calling peer.
PeerCollabExportContact

Exports the contact data associated with a peer name to a string buffer. The buffer contains contact data in XML format.
PeerCollabGetAppLaunchInfo

Obtains the peer application launch information, including the contact name, the peer endpoint, and the invitation request.
PeerCollabGetApplicationRegistrationInfo

Obtains application-specific registration information.
PeerCollabGetContact

Obtains the information for a peer contact given the peer name of the contact.
PeerCollabGetEndpointName

Retrieves the name of the current endpoint of the calling peer, as previously set by a call to PeerCollabSetEndpointName.
PeerCollabGetEventData

Obtains the data associated with a peer collaboration event raised on the peer.
PeerCollabGetInvitationResponse

Obtains the response from a peer previously invited to join a peer collaboration activity.
PeerCollabGetPresenceInfo

Retrieves the presence information for the endpoint associated with a specific contact.
PeerCollabGetSigninOptions

Obtains the peer's current signed-in peer collaboration network presence options.
PeerCollabInviteContact

Sends an invitation to join a peer collaboration activity to a trusted contact. This call is synchronous and, if successful, obtains a response from the contact.
PeerCollabInviteEndpoint

Sends an invitation to a specified peer endpoint to join the sender's peer collaboration activity. This call is synchronous and, if successful, obtains a response from the peer endpoint.
PeerCollabParseContact

Parses a Unicode string buffer containing contact XML data into a PEER_CONTACT data structure.
PeerCollabQueryContactData

Retrieves the contact information for the supplied peer endpoint.
PeerCollabRefreshEndpointData

Updates the calling peer node with new endpoint data.
PeerCollabRegisterApplication

Registers an application with the local computer so that it can be launched in a peer collaboration activity.
PeerCollabRegisterEvent

Registers an application with the peer collaboration infrastructure to receive callbacks for specific peer collaboration events.
PeerCollabSetEndpointName

Sets the name of the current endpoint used by the peer application.
PeerCollabSetObject

Creates or updates a peer data object used in a peer collaboration network.
PeerCollabSetPresenceInfo

Updates the caller's presence information to any contacts watching it.
PeerCollabShutdown

Shuts down the Peer Collaboration infrastructure and releases any resources associated with it.
PeerCollabSignin

Signs the peer into a hosted Internet (serverless presence) or subnet ("People Near Me") peer collaboration network presence provider.
PeerCollabSignout

Signs a peer out of a specific type of peer collaboration network presence provider.
PeerCollabStartup

Initializes the Peer Collaboration infrastructure.
PeerCollabSubscribeEndpointData

Creates a subscription to an available endpoint.
PeerCollabUnregisterApplication

Unregisters the specific applications of a peer from the local computer.
PeerCollabUnregisterEvent

Deregisters an application from notification about specific peer collaboration events.
PeerCollabUnsubscribeEndpointData

Removes a subscription to an endpoint created with PeerCollabSubscribeEndpointData.
PeerCollabUpdateContact

Updates the information associated with a peer contact specified in the local contact store of the caller.
PeerCreatePeerName

The PeerCreatePeerName function creates a new name based on the existing name of the specified peer identity and classifier. However, a new identity is not created by a call to PeerCreatePeerName.
PeerDistClientAddContentInformation

PeerDistClientAddContentInformation function adds the content information associated with a content handle opened by PeerDistClientOpenContent.
PeerDistClientAddData

The PeerDistClientAddData function is used to supply content to the local cache.
PeerDistClientBlockRead

PeerDistClientBlockRead function reads content data blocks.
PeerDistClientCancelAsyncOperation

PeerDistClientCancelAsyncOperation function cancels asynchronous operation associated with an OVERLAPPED structure and the content handle returned by PeerDistClientOpenContent.
PeerDistClientCloseContent

PeerDistClientCloseContent function closes the content handle opened by PeerDistClientOpenContent.
PeerDistClientCompleteContentInformation

PeerDistClientCompleteContentInformation function completes the process of adding the content information.
PeerDistClientFlushContent

The PeerDistClientFlushContent function allows a client to remove content added to the local cache with the PeerDistClientAddData function using the associated PEERDIST_CONTENT_TAG.
PeerDistClientGetInformationByHandle

The PeerDistClientGetInformationByHandle function retrieves additional information from the Peer Distribution service for a specific content handle.
PeerDistClientOpenContent

PeerDistClientOpenContent function opens and returns a PEERDIST_CONTENT_HANDLE. The client uses the content handle to retrieve data from the Peer Distribution service.
PeerDistClientStreamRead

PeerDistClientStreamRead reads a sequence of bytes from content stream.
PeerDistGetOverlappedResult

The PeerDistGetOverlappedResult function retrieves the results of asynchronous operations.
PeerDistGetStatus

PeerDistGetStatus function returns the current status of the Peer Distribution service.
PeerDistGetStatusEx

PeerDistGetStatusEx function returns the current status and capabilities of the Peer Distribution service.
PeerDistRegisterForStatusChangeNotification

The PeerDistRegisterForStatusChangeNotification function requests the Peer Distribution service status change notification.
PeerDistRegisterForStatusChangeNotificationEx

The PeerDistRegisterForStatusChangeNotificationEx function requests the Peer Distribution service status change notification.
PeerDistServerCancelAsyncOperation

PeerDistServerCancelAsyncOperation function cancels the asynchronous operation associated with the content identifier and OVERLAPPED structure.
PeerDistServerCloseContentInformation

PeerDistServerCloseContentInformation function closes the handle opened by PeerDistServerOpenContentInformation.
PeerDistServerCloseStreamHandle

PeerDistServerCloseStreamHandle function closes a handle returned by PeerDistServerPublishStream.
PeerDistServerOpenContentInformation

PeerDistServerOpenContentInformation function opens a PEERDIST_CONTENTINFO_HANDLE. The client uses the handle to retrieve content information.
PeerDistServerOpenContentInformationEx

PeerDistServerOpenContentInformationEx function opens a PEERDIST_CONTENTINFO_HANDLE. The client uses the handle to retrieve content information.
PeerDistServerPublishAddToStream

PeerDistServerPublishAddToStream function adds data to the publishing stream.
PeerDistServerPublishCompleteStream

PeerDistServerPublishCompleteStream function completes the process of adding data to the stream.
PeerDistServerPublishStream

PeerDistServerPublishStream function initializes a new stream to be published to the Peer Distribution service.
PeerDistServerRetrieveContentInformation

PeerDistServerRetrieveContentInformation function retrieves the encoded content information associated with a handle returned by PeerDistServerOpenContentInformation.
PeerDistServerUnpublish

PeerDistServerUnpublish function removes a publication created via PeerDistServerPublishStream.
PeerDistShutdown

PeerDistShutdown function releases resources allocated by a call to PeerDistStartup. Each handle returned by a PeerDistStartup call must be closed by a matching call to PeerDistShutdown.
PeerDistStartup

PeerDistStartup function creates a new Peer Distribution instance handle which must be passed to all other Peer Distribution APIs.
PeerDistUnregisterForStatusChangeNotification

PeerDistUnregisterForStatusChangeNotification function unregisters the status change notification for the session associated with the specified handle.
PeerEndEnumeration

The PeerEndEnumeration function releases an enumeration, for example, a record or member enumeration, and deallocates all resources associated with the enumeration.
PeerEnumGroups

The PeerEnumGroups function creates and returns a peer enumeration handle used to enumerate all the peer groups associated with a specific peer identity.
PeerEnumIdentities

The PeerEnumIdentities function creates and returns a peer enumeration handle used to enumerate all the peer identities that belong to a specific user.
PeerFreeData

The PeerFreeData function deallocates a block of data and returns it to the memory pool. Use the PeerFreeData function to free data that the Peer Identity Manager, Peer Grouping, and Peer Collaboration APIs return.
PeerGetItemCount

The PeerGetItemCount function returns a count of the items in a peer enumeration.
PeerGetNextItem

The PeerGetNextItem function returns a specific number of items from a peer enumeration.
PeerGraphAddRecord

The PeerGraphAddRecord function adds a new record to a peer graph. A record added with this function is sent to each node in a peer graph.
PeerGraphClose

The PeerGraphClose function invalidates the peer graph handle returned by a call to either PeerGraphCreate or PeerGraphOpen, and closes all network connections for the specified peer graph.
PeerGraphCloseDirectConnection

The PeerGraphCloseDirectConnection function closes a specified direct connection.
PeerGraphConnect

The PeerGraphConnect function attempts to make a connection to a specified node in a peer graph.
PeerGraphCreate

The PeerGraphCreate function creates a new peer graph. An application can specify information about a peer graph, and the type of security that a peer graph uses. A handle to a peer graph is returned, but a network connection is not established.
PeerGraphDelete

The PeerGraphDelete function deletes the data associated with a specified peer graph.
PeerGraphDeleteRecord

The PeerGraphDeleteRecord function marks a record as deleted within a peer graph. The record is not available on a local node to function calls, for example, calls to PeerGraphGetRecord and PeerGraphEnumRecords.
PeerGraphEndEnumeration

The PeerGraphEndEnumeration function releases an enumeration handle, and frees the resources associated with an enumeration.
PeerGraphEnumConnections

The PeerGraphEnumConnections function creates and returns an enumeration handle used to enumerate the connections of a local node.
PeerGraphEnumNodes

The PeerGraphEnumNodes function creates and returns an enumeration handle used to enumerate the nodes in a peer graph.
PeerGraphEnumRecords

The PeerGraphEnumRecords function creates and returns an enumeration handle used to enumerate records of a specific type of record, user, or both. An enumeration provides a snapshot of records at the time an enumeration is performed.
PeerGraphExportDatabase

The PeerGraphExportDatabase function exports a peer graph database into a file that you can move to a different computer. By using PeerGraphImportDatabase, a peer graph database can be imported to a different computer.
PeerGraphFreeData

The PeerGraphFreeData function frees resources that several of the Peer Graphing API functions return.
PeerGraphGetEventData

The PeerGraphGetEventData function retrieves peer events. An application calls this function until the return value PEER_S_NO_EVENT_DATA is returned, which indicates that a call is successful, but that there are no more peer events to retrieve.
PeerGraphGetItemCount

The PeerGraphGetItemCount function retrieves the number of items in an enumeration.
PeerGraphGetNextItem

Obtains the next item or items in an enumeration created by a call to the following functions.
PeerGraphGetNodeInfo

The PeerGraphGetNodeInfo function retrieves information about a specific node.
PeerGraphGetProperties

The PeerGraphGetProperties function retrieves the current peer graph properties.
PeerGraphGetRecord

The PeerGraphGetRecord function retrieves a specific record based on the specified record ID. The returned record should be freed by calling PeerGraphFreeData.
PeerGraphGetStatus

The PeerGraphGetStatus function returns the current status of the peer graph.
PeerGraphImportDatabase

The PeerGraphImportDatabase function imports a file that contains the information from a peer graph database. This function can only be called if the application has not yet called the PeerGraphListen or PeerGraphConnect function.
PeerGraphListen

The PeerGraphListen function indicates that a peer graph should start listening for incoming connections.
PeerGraphOpen

The PeerGraphOpen function opens a peer graph that is created previously by either the local node or a remote node. A handle to the peer graph is returned, but a network connection is not established.
PeerGraphOpenDirectConnection

The PeerGraphOpenDirectConnection function allows an application to establish a direct connection with a node in a peer graph.
PeerGraphPeerTimeToUniversalTime

The PeerGraphPeerTimeToUniversalTime function converts the peer graph-maintained reference time value to a localized time value appropriate for display on the peer's computer.
PeerGraphRegisterEvent

The PeerGraphRegisterEvent function registers a peer's request to be notified of changes associated with a peer graph and event type.
PeerGraphSearchRecords

The PeerGraphSearchRecords function searches the peer graph for specific records.
PeerGraphSendData

The PeerGraphSendData function sends data to a neighbor node or a directly connected node.
PeerGraphSetNodeAttributes

The PeerGraphSetNodeAttributes function sets the attributes of the PEER_NODE_INFO structure for the local node.
PeerGraphSetPresence

The PeerGraphSetPresence function explicitly turns on or off the publication of presence records for a specific node.
PeerGraphSetProperties

The PeerGraphSetProperties function sets the peer graph properties.
PeerGraphShutdown

The PeerGraphShutdown function cleans up any resources allocated by the call to PeerGraphStartup. There must be a call to PeerGraphShutdown for each call to PeerGraphStartup.
PeerGraphStartup

The PeerGraphStartup function indicates to the Peer Graphing Infrastructure what version of the Peer protocols the calling application requires.
PeerGraphUniversalTimeToPeerTime

The PeerGraphUniversalTimeToPeerTime function converts a universal time value from the peer's computer to a common peer graph time value.
PeerGraphUnregisterEvent

The PeerGraphUnregisterEvent function requests that the application no longer be notified of changes associated with a peer graph and record type.
PeerGraphUpdateRecord

The PeerGraphUpdateRecord function updates a record in the peer graph and then floods the record to each node in the peer graph.
PeerGraphValidateDeferredRecords

The PeerGraphValidateDeferredRecords function indicates to the Peer Graphing Infrastructure that it is time to resubmit any deferred records for the security module to validate.
PeerGroupAddRecord

The PeerGroupAddRecord function adds a new record to the peer group, which is propagated to all participating peers.
PeerGroupClose

The PeerGroupClose function invalidates the peer group handle obtained by a previous call to the PeerGroupCreate, PeerGroupJoin, or PeerGroupOpen function.
PeerGroupCloseDirectConnection

The PeerGroupCloseDirectConnection function closes a specific direct connection between two peers.
PeerGroupConnect

The PeerGroupConnect function initiates a PNRP search for a peer group and attempts to connect to it. After this function is called successfully, a peer can communicate with other members of the peer group.
PeerGroupConnectByAddress

Attempts to connect to the peer group that other peers with known IPv6 addresses are participating in.
PeerGroupCreate

The PeerGroupCreate function creates a new peer group.
PeerGroupCreateInvitation

The PeerGroupCreateInvitation function returns an XML string that can be used by the specified peer to join a group.
PeerGroupCreatePasswordInvitation

Returns an XML string that can be used by the specified peer to join a group with a matching password.
PeerGroupDelete

The PeerGroupDelete function deletes the local data and certificate associated with a peer group.
PeerGroupDeleteRecord

The PeerGroupDeleteRecord function deletes a record from a peer group. The creator, as well as any other member in an administrative role may delete a specific record.
PeerGroupEnumConnections

The PeerGroupEnumConnections function creates an enumeration of connections currently active on the peer.
PeerGroupEnumMembers

The PeerGroupEnumMembers function creates an enumeration of available peer group members and the associated membership information.
PeerGroupEnumRecords

The PeerGroupEnumRecords function creates an enumeration of peer group records.
PeerGroupExportConfig

The PeerGroupExportConfig function exports the group configuration for a peer as an XML string that contains the identity, group name, and the GMC for the identity.
PeerGroupExportDatabase

The PeerGroupExportDatabase function exports a peer group database to a specific file, which can be transported to another computer and imported with the PeerGroupImportDatabase function.
PeerGroupGetEventData

The PeerGroupGetEventData function allows an application to retrieve the data returned by a grouping event.
PeerGroupGetProperties

The PeerGroupGetProperties function retrieves information on the properties of a specified group.
PeerGroupGetRecord

The PeerGroupGetRecord function retrieves a specific group record.
PeerGroupGetStatus

The PeerGroupGetStatus function retrieves the current status of a group.
PeerGroupImportConfig

The PeerGroupImportConfig function imports a peer group configuration for an identity based on the specific settings in a supplied XML configuration string.
PeerGroupImportDatabase

The PeerGroupImportDatabase function imports a peer group database from a local file.
PeerGroupIssueCredentials

The PeerGroupIssueCredentials function issues credentials, including a GMC, to a specific identity, and optionally returns an invitation XML string the invited peer can use to join a peer group.
PeerGroupJoin

The PeerGroupJoin function prepares a peer with an invitation to join an existing peer group prior to calling PeerGroupConnect or PeerGroupConnectByAddress.
PeerGroupOpen

The PeerGroupOpen function opens a peer group that a peer has created or joined. After a peer group is opened, the peer can register for event notifications.
PeerGroupOpenDirectConnection

The PeerGroupOpenDirectConnection function establishes a direct connection with another peer in a peer group.
PeerGroupParseInvitation

The PeerGroupParseInvitation function returns a PEER_INVITATION_INFO structure with the details of a specific invitation.
PeerGroupPasswordJoin

Prepares a peer with an invitation and the correct password to join a password-protected peer group prior to calling PeerGroupConnect or PeerGroupConnectByAddress.
PeerGroupPeerTimeToUniversalTime

The PeerGroupPeerTimeToUniversalTime function converts the peer group-maintained reference time value to a localized time value appropriate for display on a peer computer.
PeerGroupRegisterEvent

The PeerGroupRegisterEvent function registers a peer for specific peer group events.
PeerGroupSearchRecords

The PeerGroupSearchRecords function searches the local peer group database for records that match the supplied criteria.
PeerGroupSendData

The PeerGroupSendData function sends data to a member over a neighbor or direct connection.
PeerGroupSetProperties

The PeerGroupSetProperties function sets the current peer group properties. In version 1.0 of this API, only the creator of the peer group can perform this operation.
PeerGroupShutdown

The PeerGroupShutdown function closes a peer group created with PeerGroupStartup and disposes of any allocated resources.
PeerGroupStartup

The PeerGroupStartup function initiates a peer group by using a requested version of the Peer infrastructure.
PeerGroupUniversalTimeToPeerTime

The PeerGroupUniversalTimeToPeerTime function converts a local time value from a peer's computer to a common peer group time value.
PeerGroupUnregisterEvent

The PeerGroupUnregisterEvent function unregisters a peer from notification of peer events associated with the supplied event handle.
PeerGroupUpdateRecord

The PeerGroupUpdateRecord function updates a record within a specific peer group.
PeerHostNameToPeerName

Decodes a host name returned by PeerNameToPeerHostName into the peer name string it represents.
PeerIdentityCreate

The PeerIdentityCreate function creates a new peer identity and returns its name.
PeerIdentityDelete

The PeerIdentityDelete function permanently deletes a peer identity. This includes removing all certificates, private keys, and all group information associated with a specified peer identity.
PeerIdentityExport

The PeerIdentityExport function allows a user to export one peer identity. The user can then transfer the peer identity to a different computer.
PeerIdentityGetCryptKey

The PeerIdentityGetCryptKey function retrieves a handle to a cryptographic service provider (CSP).
PeerIdentityGetDefault

The PeerIdentityGetDefault function retrieves the default peer name set for the current user.
PeerIdentityGetFriendlyName

The PeerIdentityGetFriendlyName function returns the friendly name of the peer identity.
PeerIdentityGetXML

The PeerIdentityGetXML function returns a description of the peer identity, which can then be passed to third parties and used to invite a peer identity into a peer group. This information is returned as an XML fragment.
PeerIdentityImport

The PeerIdentityImport function imports one peer identity. If the peer identity exists on a computer, PEER_E_ALREADY_EXISTS is returned.
PeerIdentitySetFriendlyName

The PeerIdentitySetFriendlyName function modifies the friendly name for a specified peer identity. The friendly name is the human-readable name.
PeerNameToPeerHostName

Encodes the supplied peer name as a format that can be used with a subsequent call to the getaddrinfo Windows Sockets function.
PeerPnrpEndResolve

Closes the handle for an asynchronous PNRP resolution operation initiated with a previous call to PeerPnrpStartResolve.
PeerPnrpGetCloudInfo

Retrieves information on the Peer Name Resolution Protocol (PNRP) clouds in which the calling peer is participating.
PeerPnrpGetEndpoint

Retrieves a peer endpoint address resolved during an asynchronous peer name resolution operation.
PeerPnrpRegister

Registers a peer with a PNRP cloud and returns a handle that can be used for registration updates.
PeerPnrpResolve

Obtains the endpoint address(es) registered for a specific peer name.
PeerPnrpShutdown

Shuts down a running instance of the Peer Name Resolution Protocol (PNRP) service and releases all resources associated with it.
PeerPnrpStartResolve

Starts an asynchronous peer name resolution operation.
PeerPnrpStartup

Starts the Peer Name Resolution Protocol (PNRP) service for the calling peer.
PeerPnrpUnregister

Deregisters a peer from a PNRP cloud.
PeerPnrpUpdateRegistration

Updates the PNRP registration information for a name.
PFNPEER_FREE_SECURITY_DATA

The PFNPEER_FREE_SECURITY_DATA callback specifies the function that the Peer Graphing Infrastructure calls to free data returned by PFNPEER_SECURE_RECORD and PFNPEER_VALIDATE_RECORD callbacks.
PFNPEER_SECURE_RECORD

The PFNPEER_SECURE_RECORD callback specifies the function that the Peer Graphing Infrastructure calls to secure records.
PFNPEER_VALIDATE_RECORD

The PFNPEER_VALIDATE_RECORD callback specifies the function that the Peer Graphing Infrastructure calls to validate records.

Structures

 
DRT_ADDRESS

DRT_ADDRESS structure contains endpoint information about a DRT node that participated in a search. This information is intended for use in debugging connectivity problems.
DRT_ADDRESS_LIST

DRT_ADDRESS_LIST structure contains a set of DRT_ADDRESS structures that represent the nodes contacted during a search for a key.
DRT_BOOTSTRAP_PROVIDER

DRT_BOOTSTRAP_PROVIDER structure defines the DRT interface that must be implemented by a bootstrap provider.
DRT_DATA

DRT_DATA structure contains a data blob. This structure is used by several DRT functions.
DRT_EVENT_DATA

DRT_EVENT_DATA.
DRT_REGISTRATION

The DRT_REGISTRATION structure contains key and application data that make up a registration.
DRT_SEARCH_INFO

DRT_SEARCH_INFO structure represents a search query issued with DrtStartSearch.
DRT_SEARCH_RESULT

DRT_SEARCH_RESULT.
DRT_SECURITY_PROVIDER

DRT_SECURITY_PROVIDER structure defines the DRT interface that must be implemented by a security provider.
DRT_SETTINGS

DRT_SETTINGS structure contains the settings utilized by the local Distributed Routing Table.
PEER_ADDRESS

The PEER_ADDRESS structure specifies the information about the IP address.
PEER_APP_LAUNCH_INFO

The PEER_APP_LAUNCH_INFO structure contains the peer application application launch information provided by a contact in a previous peer invite request.
PEER_APPLICATION

The PEER_APPLICATION structure contains data describing a locally installed software application or component that can be registered and shared with trusted contacts within a peer collaboration network.
PEER_APPLICATION_REGISTRATION_INFO

The PEER_APPLICATION_REGISTRATION_INFO structure contains peer application information for registration with the local computer.
PEER_COLLAB_EVENT_REGISTRATION

The PEER_COLLAB_EVENT_REGISTRATION structure contains the data used by a peer to register for specific peer collaboration network events.
PEER_CONNECTION_INFO

The PEER_CONNECTION_INFO structure contains information about a connection. This structure is returned when you are enumerating peer graphing or grouping connections.
PEER_CONTACT

The PEER_CONTACT structure contains information about a specific contact.
PEER_CREDENTIAL_INFO

The PEER_CREDENTIAL_INFO structure defines information used to obtain and issue a peer's security credentials.
PEER_DATA

The PEER_DATA structure contains binary data.
PEER_ENDPOINT

The PEER_ENDPOINT structure contains the address and friendly name of a peer endpoint.
PEER_EVENT_APPLICATION_CHANGED_DATA

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.
PEER_EVENT_CONNECTION_CHANGE_DATA

Points to the PEER_EVENT_CONNECTION_CHANGE_DATA structure if one of the following peer events is triggered.
PEER_EVENT_ENDPOINT_CHANGED_DATA

The PEER_EVENT_ENDPOINT_CHANGED_DATA structure contains information returned when a PEER_EVENT_ENDPOINT_CHANGED or PEER_EVENT_MY_ENDPOINT_CHANGED event is raised on a peer participating in a peer collaboration network.
PEER_EVENT_INCOMING_DATA

Points to the PEER_EVENT_INCOMING_DATA structure if one of the following peer events is triggered.
PEER_EVENT_MEMBER_CHANGE_DATA

The PEER_EVENT_MEMBER_CHANGE_DATA structure contains data that describes a change in the status of a peer group member.
PEER_EVENT_NODE_CHANGE_DATA

The PEER_EVENT_NODE_CHANGE_DATA structure contains a pointer to the data if a PEER_GRAPH_EVENT_NODE_CHANGE event is triggered.
PEER_EVENT_OBJECT_CHANGED_DATA

The PEER_EVENT_OBJECT_CHANGED_DATA structure contains information returned when a PEER_EVENT_ENDPOINT_OBJECT_CHANGED or PEER_EVENT_MY_OBJECT_CHANGED event is raised on a peer participating in a peer collaboration network.
PEER_EVENT_PEOPLE_NEAR_ME_CHANGED_DATA

The PEER_EVENT_PEOPLE_NEAR_ME_CHANGED_DATA structure contains information returned when a PEER_EVENT_PEOPLE_NEAR_ME_CHANGED event is raised on a peer participating in a subnet-specific peer collaboration network.
PEER_EVENT_PRESENCE_CHANGED_DATA

The PEER_EVENT_PRESENCE_CHANGED_DATA structure contains information returned when a PEER_EVENT_ENDPOINT_PRESENCE_CHANGED or PEER_EVENT_MY_PRESENCE_CHANGED event is raised on a peer participating in a peer collaboration network.
PEER_EVENT_RECORD_CHANGE_DATA

Points to the PEER_EVENT_RECORD_CHANGE_DATA structure if one of the following peer events is triggered.
PEER_EVENT_REQUEST_STATUS_CHANGED_DATA

The PEER_EVENT_REQUEST_STATUS_CHANGED_DATA structure contains information returned when a PEER_EVENT_REQUEST_STATUS_CHANGED event is raised on a peer participating in a peer collaboration network.
PEER_EVENT_SYNCHRONIZED_DATA

The PEER_EVENT_SYNCHRONIZED_DATA is pointed to by a PEER_GRAPH_EVENT_DATA structure's union if a PEER_GRAPH_EVENT_RECORD_CHANGE or PEER_GROUP_EVENT_RECORD_CHANGE event is triggered.
PEER_EVENT_WATCHLIST_CHANGED_DATA

The PEER_EVENT_WATCHLIST_CHANGED_DATA structure contains information returned when a PEER_EVENT_WATCHLIST_CHANGED event is raised on a peer participating in a peer collaboration network.
PEER_GRAPH_EVENT_DATA

The PEER_GRAPH_EVENT_DATA structure contains data associated with a peer event.
PEER_GRAPH_EVENT_REGISTRATION

The PEER_GRAPH_EVENT_REGISTRATION structure is used during registration for peer event notification. During registration it specifies which peer events an application requires notifications for.
PEER_GRAPH_PROPERTIES

The PEER_GRAPH_PROPERTIES structure contains data about the policy of a peer graph, ID, scope, and other information.
PEER_GROUP_EVENT_REGISTRATION

The PEER_GROUP_EVENT_REGISTRATION structure defines the particular peer group event a member can register for.
PEER_GROUP_PROPERTIES

The PEER_GROUP_PROPERTIES structure contains data about the membership policy of a peer group.
PEER_INVITATION

The PEER_INVITATION structure contains a request to initiate or join a peer collaboration activity.
PEER_INVITATION_INFO

The PEER_INVITATION_INFO structure defines information about an invitation to join a peer group.
PEER_INVITATION_RESPONSE

The PEER_INVITATION_RESPONSE structure contains a response to an invitation to join a peer collaboration activity.
PEER_MEMBER

The PEER_MEMBER structure contains information that describes a member of a peer group.
PEER_NAME_PAIR

The PEER_NAME_PAIR structure contains the results of a call to PeerGetNextItem.
PEER_NODE_INFO

The PEER_NODE_INFO structure contains information that is specific to a particular node in a peer graph.
PEER_OBJECT

The PEER_OBJECT structure contains application-specific run-time information that can be shared with trusted contacts within a peer collaboration network.
PEER_PEOPLE_NEAR_ME

Contains information about a peer in the same logical or virtual subnet.
PEER_PNRP_CLOUD_INFO

Contains information about a Peer Name Resolution Protocol (PNRP) cloud.
PEER_PNRP_ENDPOINT_INFO

Contains the IP addresses and data associated with a peer endpoint.
PEER_PNRP_REGISTRATION_INFO

Contains the information provided by a peer identity when it registers with a PNRP cloud.
PEER_PRESENCE_INFO

The PEER_PRESENCE_INFO structure contains specific peer presence information.
PEER_RECORD

The PEER_RECORD structure contains the record object that an application uses.
PEER_SECURITY_INTERFACE

The PEER_SECURITY_INTERFACE structure specifies the security interfaces that calls to Peer Graphing APIs use to validate, secure, and free records.
PEER_VERSION_DATA

The PEER_VERSION_DATA structure contains the version information about the Peer Graphing and Grouping APIs.
PEERDIST_CLIENT_BASIC_INFO

The PEERDIST_CLIENT_BASIC_INFO structure indicates whether or not there are many clients simultaneously downloading the same content.
PEERDIST_CONTENT_TAG

PEERDIST_CONTENT_TAG structure contains a client supplied content tag as an input to the PeerDistClientOpenContent API.
PEERDIST_PUBLICATION_OPTIONS

PEERDIST_PUBLICATION_OPTIONS structure contains publication options, including the API version information and possible option flags.
PEERDIST_RETRIEVAL_OPTIONS

The PEER_RETRIEVAL_OPTIONS structure contains version of the content information to retrieve.
PEERDIST_STATUS_INFO

The PEERDIST_STATUS_INFO structure contains information about the current status and capabilities of the BranchCache service on the local computer.
PNRP_CLOUD_ID

The PNRP_CLOUD_ID structure contains the values that define a network cloud.
PNRPCLOUDINFO

The PNRPCLOUDINFO structure is pointed to by the lpBlob member of the WSAQUERYSET structure.
PNRPINFO_V1

The PNRPINFO_V1 structure is pointed to by the lpBlob member of the WSAQUERYSET structure. (PNRPINFO_V1)
PNRPINFO_V2

The PNRPINFO_V1 structure is pointed to by the lpBlob member of the WSAQUERYSET structure.P