3.1.4.1 Creating the Homegroup

To participate in a homegroup, a machine MUST create the homegroup when a HomeGroup Invitation message (section 2.2.1.1) does not exist. This requires a homegroup password. All other machines will then be able to join the homegroup when the first machine's HomeGroup Invitation is detected.

A new homegroup is created by creating a new PeerGroup with a secure Peer ID [MS-PPSEC]. The Peer ID is a unique identifier that other members in the PeerGroup can use to identify a particular member [MS-PPSEC]. The machine then generates the signing keys, as described in section 3.1.4.5.2. The machine MUST then take the following actions:

  • Send a HomeGroup Signing Key message (section 2.2.2.2.5), a HomeGroup Member Info message (section 2.2.2.1), a HomeGroup User Info record (section 2.2.2.2.2) for each user on the machine, a HomeGroup Credentials message (section 2.2.2.2.1), and a HomeGroup MAC Address message (section 2.2.2.2.3) to the PeerGroup. If the data contained in a message changes, the machine MUST create new messages and send them to the PeerGroup.

  • Publish a HomeGroup Invitation WSD message (section 2.2.1.1). If the data contained in the HomeGroup Invitation WSD message changes, the machine MUST create a new HomeGroup Invitation WSD message and publish it on the WSD channel.

  • When a printer is attached to the machine that is to be shared, the machine SHOULD also publish a HomeGroup Printer WSD message (section 2.2.1.2) on the WSD channel. If the printer is unshared, the machine SHOULD remove the printer from the HomeGroup Printer WSD message.

  • If a new user is created on the machine, a HomeGroup User Info record (section 2.2.2.2.2) MUST be sent to the PeerGroup for that user account. If a user is deleted from the machine, the HomeGroup User Info record corresponding to that user account MUST be removed from the PeerGroup.

There is no required order for sending or publishing these messages.