====================================================================== Microsoft Windows XP Peer-to-Peer SDK Release Notes For Windows XP Home Edition with Service Pack 1, Windows XP Professional with Service Pack 1, Windows XP Media Center Edition, and Windows XP Tablet PC Edition.* 2003 ====================================================================== Copyright (c) Microsoft Corporation. All rights reserved. This document contains important information about the Microsoft(R) Windows XP Peer-to-Peer SDK. Before installing the Windows XP Peer-to-Peer SDK please review this entire document. It contains critical information to ensure proper installation and use of the product. ------------------------------------------------ HOW TO USE THIS DOCUMENT ------------------------------------------------ You can view the Release Notes file on-screen in Windows Notepad. To print the Release Notes file, open it in Notepad or another word processor, click File, and then click Print. ----------------- CONTENTS ----------------- 1. SYSTEM REQUIREMENTS 2. MICROSOFT WINDOWS XP PEER-TO-PEER SDK OVERVIEW 3. INSTALLING AND UNINSTALLING THE WINDOWS XP PEER-TO-PEER SDK 3.1 How to install Windows XP Peer-to-Peer SDK 3.2 How to uninstall Windows XP Peer-to-Peer SDK 4. KNOWN ISSUES WITH THE WINDOWS XP PEER-TO-PEER SDK ------------------------------------------- 1. SYSTEM REQUIREMENTS ------------------------------------------- • Supported on Windows XP with Service Pack 1 (Professional SP1: http://www.microsoft.com/windowsxp/pro/downloads/) (Home SP1: http://www.microsoft.com/windowsxp/home/downloads/) • PC with 300 megahertz (MHz) or higher processor clock speed recommended; 233-MHz minimum required; Intel Pentium/Celeron family, AMD K6/Athlon/Duron family, or compatible processor recommended • 128 megabytes (MB) of RAM or higher recommended (64 MB minimum supported) • 20 MB of hard disk space • Latest version of the Platform SDK (October 2002 or later) - http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ • Optional - Visual Studio.NET -------------------------------------------------------- 2. MICROSOFT WINDOWS XP PEER-TO-PEER SDK OVERVIEW -------------------------------------------------------- The new Windows XP Peer-to-Peer SDK and the related Advanced Networking Pack for Windows XP (KB817778) will help developers create advanced networking applications. The SDK provides documentation and sample code while the XP update adds advanced networking support to the XP client. The Peer-to-Peer Infrastructure is a set of networking APIs that are designed to help developers create decentralized networking applications that harness the collective power of networked computers. The Windows XP Peer-to-Peer SDK provides documentation and sample code that allow developers to build peer-to-peer applications or services that capitalize on the new Advanced Networking Pack for Windows XP. API Set: Peer-to-Peer Networking Name Resolution - The Peer Name Resolution Protocol (PNRP) Name Space Provider provides an API that enables peer-to-peer resolution of names to endpoints (IP address/port number). Peer-to-Peer Networking Graphing - Graphing enables efficient multipoint communication among a tightly coupled set of peers. Graphing enables applications to use their own security models and name resolution mechanisms. Peer-to-Peer Networking Grouping - Grouping is the security layer provided by default on top of a graph. The security layer defines the security model behind group creation, invitation, and connection to the group. In addition, Grouping uses PNRP as the name resolution protocol and enables multiple applications to share the same graph. Peer-to-Peer Networking Identity Manager - The Identity Manager enables creation of Peer-to-Peer Identities and names for use in PNRP and Grouping. Documentation: The documentation included is the official MSDN content against the Peer-to-Peer Grouping, Graphing, Identity Manager, and PNRP Namespace APIs. Header Files: The necessary header files for developing for the Peer-to-Peer Infrastructure are included. Library Files: In addition to the header files, the appropriate library files are included for linking to the Peer-to-Peer Infrastructure. Sample Applications: Three sample applications (Group Browser, Group Chat, and Graph Chat) are included to demonstrate how to use the APIs provided by the infrastructure. ------------------------------------------------------------------------ 3. INSTALLING AND UNINSTALLING THE WINDOWS XP PEER-TO-PEER SDK ------------------------------------------------------------------------ 3.1 How to install the Windows XP Peer-to-Peer SDK 3.1.1 If the Beta release of the SDK is installed, uninstall it. 3.1.2 Open the folder to which you have downloaded the file p2psdk.msi. 3.1.3 Double-click p2psdk.msi to begin installation of the Windows XP Peer-to-Peer SDK. Note: If the Beta sample applications were built or modified, they will not be removed. If you would like the latest sample application code installed, it is suggested that you move or remove the sample application installation directory. 3.2 How to uninstall the Windows XP Peer-to-Peer SDK 3.2.1 Click Start, click Control Panel, and then double-click Add or Remove Programs. 3.2.2 Click Change or Remove Programs, and then click Windows XP Peer-to-Peer SDK. 3.2.3 Click Remove. -------------------------------------------------------------- 4. KNOWN ISSUES WITH THE WINDOWS XP PEER-TO-PEER SDK -------------------------------------------------------------- Issue #1: Beta Groups are not compatible with RTM Groups The Grouping security layer was modified from Beta to the final release. Backwards compatibility is not supported. Therefore, groups created with the final release via the Group Browser or Group Chat sample applications will not be compatible with groups created with the Beta Group Chat application. Issue #2: Web page links do not work on custom install If the user elects to not install particular aspects of the SDK (ex. Sample applications) the links on the launch web page will not function properly. Issue #3: Graph Chat is not able to connect to remote peers when the firewall is installed Graph Chat does not currently open ports in the IPv6 Firewall. In order for Graph Chat to function properly a user must manually open the port or disable the IPv6 Firewall service. For more information on how to manually open ports or disable the firewall, please see KB817778 http://support.microsoft.com?kbid=817778. When writing a Graphing application, it is strongly recommended that the application attempt to open ports in the Firewall. To learn more about the IPv6 Firewall API see: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ipv6icf/ics/ipv6_icf_start_page.asp. Issue #4: Group Browser sample application will not build unless the MFC is installed The Group Browser sample application requires that MFC be installed as part of Visual Studio.NET. In order to build the Group Browser sample application, ensure that MFC is installed. Issue #5: PEER_GRAPH_EVENT_NEIGHBOR_CONNECTION event is raised, yet connection actually succeeds When Node A attempts to connect to Node B in a graph, Node B might refer Node A to Node C if Node B is no longer accepting connections. When the referral occurs, the application executing on Node A receives a PEER_GRAPH_EVENT_NEIGHBOR_CONNECTION event and the PEER_CONNECTION_FAILED status flag is set in the PEER_CONNECTION_CHANGE_DATA structure. If the connection attempt to Node C succeeds, then the PEER_GRAPH_EVENT_NEIGHBOR_CONNECTION event is raised and the PEER_CONNECTED status flag is set in the PEER_CONNECTION_CHANGE_DATA structure. If Node C refers Node A to Node D, then the PEER_GRAPH_EVENT_NEIGHBOR_CONNECTION event is raised and the PEER_CONNECTION_FAILED status flag is set again. Thus, applications should not rely on this event/status as an indicator of real connection failure. Instead, applications should use a "time out period" based approach. The recommended logic for this approach is as follows: Call PeerGraphConnect to connect to the graph Wait for PEER_CONNECTED event with a time out period of 30 seconds or 1 minute. If a PEER_CONNECTED event is not received within the time out period, the application should assume a real connection failure. ------------------------------------------------------------------- * Microsoft, Windows, Windows XP Home Edition, and Windows XP Professional Edition, Windows XP Media Center Edition, and Windows XP Tablet PC Edition are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions.