GenericUCP Sample UPnP Application in C++ Overview: ========= GenericUCP is a C++ sample UPnP application that discovers and controls UPnP devices found on the network.This sample was developed using Visual C++ and uses MFC. The sample application uses the UPnP Control Point API provided by upnp.dll. The application can discover devices on the network through one of the three types of searches available: FindByType, FindByUDN and AsyncFind. The devices found are instantiated in the device list. One of the devices can be selected and the service objects for the selected device are listed in the service list. One of the services can be selected and controlled by invoking actions against it. The events relevant to the service are displayed in the events field. Files: ====== deviceprop.cpp - Implements CDeviceProp which is a dialog box for printing the IUPnPDevice objects's properties deviceprop.h - Definitions for CDeviceProp class devtype.txt - Device types used by GenericUCP.exe in the dropdown menu genericucp.cpp - Provides the CWinApp implementation for this sample application genericucp.h - Definitions for CGenericUCPApp which is derived from CWinApp genericucp.ico - Icon file used by this sample application genericucp.rc - Resource for this application GenericUCPDlg.cpp - Demonstrates the use of various UPnP control point APIs genericucpdlg.h - Class definitions for the above file resource.h - Resource include file stdafx.cpp - Source file that includes the standard includes stdafx.h - Standard Include file udn.txt - contains UDNs used by GenericUCP.exe in the dropdown menu util.cpp - Utility routines used by this sample util.h - Declarations for the utility routines Building the Sample: ==================== To build the sample using the command prompt: 1. Open the Command Prompt window and navigate to the GenericUCP directory. 2. Type 'msbuild genericucp.sln' To build the sample using Visual Studio 2008 (preferred method): 1. Open Windows Explorer and navigate to the GenericUCP directory. 2. Double-click the icon for the genericucp.sln (solution) file to open the file in Visual Studio. 3. In the Build menu, select Build Solution. The application will be built in the default \Debug or \Release directory. Running the Sample: =================== 1. Open a Command Prompt and navigate to the Release or Debug directory under GenericUcp. 2. Copy the devType.txt and Udn.txt files from the CPP directory to the current directory. 3. Run GenericUcp.exe. The device types and the UDNs that appear in the drop down menu are from devType.txt and Udn.txt respectively. Comments: ========= The sample uses most of the UPnP control point APIs. The comments in the code give more detail on usage of these APIs. This sample does not show the usage of some of the APIs like IUPnPDescriptionDocument interface APIs, IUPnPDeviceDocumentAccess interface APIs, etc.