2.2.1.1 HomeGroup Invitation

The HomeGroup Invitation message is used to advertise the presence of the homegroup to other machines on the home network and to provide the required details to allow them to join that homegroup. This message has the WSD type of: HomeGroup_Invitation.

The HomeGroup invitation includes the PeerGroup invitation (which is required to join the PeerGroup) and other relevant information about the homegroup, as described in this section. The invitation is serialized into an XML string and then published on the local subnet using WSD.

  
 <?xml version="1.0" encoding="utf-8"?>                                                          
 <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">                                                          
   <xs:element name="HOMEGROUP_RECORD">                                                          
     <xs:complexType>                                                          
       <xs:sequence>                                                          
         <xs:element name="INVITATION" type="xs:string" minOccurs="1" />                                                          
         <xs:element name="NETWORKNAME" type="xs:string" minOccurs="0" />                                                          
         <xs:element name="GUIDNAME" type="xs:string" minOccurs="1" />                                                          
         <xs:element name="OWNER" type="xs:string" minOccurs="0" />                                                          
         <xs:element name="OWNERID" type="xs:string" minOccurs="0" />                                                          
         <xs:element name="OWNERMACHINENAME" type="xs:string" minOccurs="0" />                                                          
         <xs:element name="LASTCHANGED" type="xs:string" minOccurs="1" />                                                          
         <xs:element name="HOMEGROUPSIZE" type="xs:string" minOccurs="1" />                                                          
         <xs:element name="ADDRESS" type="xs:string" minOccurs="1" />                                                          
         <xs:element name="DIGITALHASH" type="xs:string" minOccurs="1" />                                                          
       </xs:sequence>                                                          
     </xs:complexType>                                                          
   </xs:element>                                                          
   <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">                                                          
     <xs:complexType>                                                          
       <xs:choice minOccurs="0" maxOccurs="unbounded">                                                          
         <xs:element ref="HOMEGROUP_RECORD" />
  
       </xs:choice>                                                          
     </xs:complexType>                                                          
   </xs:element>                                                          
 </xs:schema>

INVITATION: The actual invitation from the PeerGroup. The format for this message and the manner in which it is generated is described in [MS-PPSEC].

NETWORKNAME: If any member of the homegroup is connected wirelessly to the network, this value is the service set identifier (SSID) of the wireless access point (WAP). If all machines are wired, then this value is NULL. The value for this element is the same across all of the homegroup members. If a new member of the homegroup is the first to use WAP, then this element is updated to reflect the SSID of the WAP.

GUIDNAME: A unique GUID that represents this homegroup. The value is the same for all homegroup members, and is generated when the PeerGroup is created [MS-PPSEC].

OWNER: The name of the user who last reset the pin on this homegroup, or if the pin has never been reset, it is the User who created the homegroup. The value is the same for all homegroup members.

OWNERID: The Peer Identity of the machine where the owner user resides [MS-PPSEC]. The value is the same for all homegroup members.

OWNERMACHINENAME: The machine name of the machine that created the homegroup. The value is the same for all homegroup members.

LASTCHANGED: The Int64 text representation of a FILETIME structure that represents the last time the pin was reset, or if never reset, the time that the homegroup was originally created, as described in [MS-FSCC]. The value is the same for all homegroup members.

HOMEGROUPSIZE: The number of members in the PeerGroup, and by extension, the homegroup. This is expressed as an integer value.

ADDRESS: The IPv6 addresses of the network adapter to which the PeerGroup is connected. This list of addresses is semicolon-delimited and can be specified using any valid IPv6 address format, as described in [RFC3513]

DIGITALHASH: The values contained in the <NETWORKNAME> (if not empty), <GUIDNAME>, <OWNER> (if not empty), <OWNERID> (if not empty), <OWNERMACHINENAME> (if not empty), <LASTCHANGED>, <HOMEGROUPSIZE>, and <ADDRESS> elements that are hashed together and then signed using the homegroup signing keys. The signing and hashing process is described in section 3.1.4.5.3.