Open a WorkingSetMachine

WorkingSetMachine* OpenWorkingSetMachine(
    ConstStringZ name, bool dataSetMaster)

Open or create a WorkingSetMachine with the given name within the current PSpace in thread local storage. Must be called with an exclusive write lock on the PSpace.

Working sets within a given PSpace must be uniquely named. The name is set at the time the WorkingSetMachine is opened. The name is immutable and can be accessed by calling GetName on the WorkingSetMachine by any thread at any time after the WorkingSetMachine has been opened.

A WorkingSetMachine must eventually be closed. It is an error to try to open a working set that is already open.

dataSetMaster determines whether a DataSetId is allocated by creating a 128 bit UUID when the WorkingSet is created for the first time.

If the working set already exists then:
    DataSetId is read as part of the persistent state of the working set
Otherwise (the working set is being created for the first time):
    If dataSetMaster is true:
        DataSetId is allocated with a call to CreateGuid()
    else
        DataSetId is initialised to the null guid