public void TwoClientsWriteSameSharedVHD()
        {
            BaseTestSite.Log.Add(LogEntryKind.TestStep, "1.	The first client opens a shared virtual disk file and expects success.");
            OpenSharedVHD(TestConfig.NameOfSharedVHDX, RSVD_PROTOCOL_VERSION.RSVD_PROTOCOL_VERSION_1, 0);

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "2.	The first client writes file content and expects success.");
            byte[] payload = new byte[512];
            uint   status  = client.Write(0, payload);

            BaseTestSite.Assert.AreEqual(
                (uint)Smb2Status.STATUS_SUCCESS,
                status,
                "Write content of shared virtual disk file from the first client should succeed, actual status: {0}",
                GetStatus(status));

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "3.	The second client opens a shared virtual disk file and expects success.");
            this.secondClient = new RsvdClient(TestConfig.Timeout);
            OpenSharedVHD(TestConfig.NameOfSharedVHDX, RSVD_PROTOCOL_VERSION.RSVD_PROTOCOL_VERSION_1, 0, rsvdClient: secondClient);

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "4.	The second client writes file content and expects success.");
            status = secondClient.Write(0, payload);
            BaseTestSite.Assert.AreEqual(
                (uint)Smb2Status.STATUS_SUCCESS,
                status,
                "Write content of shared virtual disk file from the second client should succeed, actual status: {0}",
                GetStatus(status));

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "5.	The first client closes the file.");
            client.CloseSharedVirtualDisk();
            BaseTestSite.Log.Add(LogEntryKind.TestStep, "6.	The second client closes the file.");
            secondClient.CloseSharedVirtualDisk();
        }
        public void TwoClientsWriteSameSharedVHD()
        {
            ulong requestIdforFirstClient = 0;
            BaseTestSite.Log.Add(LogEntryKind.TestStep, "1.	The first client opens a shared virtual disk file and expects success.");
            OpenSharedVHD(TestConfig.NameOfSharedVHDX, requestIdforFirstClient++);

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "2.	The first client writes file content and expects success.");
            byte[] payload = new byte[512];
            uint status = client.Write(0, payload);
            BaseTestSite.Assert.AreEqual(
                (uint)Smb2Status.STATUS_SUCCESS,
                status,
                "Write content of shared virtual disk file from the first client should succeed, actual status: {0}",
                GetStatus(status));

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "3.	The second client opens a shared virtual disk file and expects success.");
            ulong requestIdforSecondClient = 0;
            this.secondClient = new RsvdClient(TestConfig.Timeout);
            OpenSharedVHD(TestConfig.NameOfSharedVHDX, requestIdforSecondClient, rsvdClient: secondClient);

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "4.	The second client writes file content and expects success.");
            status = secondClient.Write(0, payload);
            BaseTestSite.Assert.AreEqual(
                (uint)Smb2Status.STATUS_SUCCESS,
                status,
                "Write content of shared virtual disk file from the second client should succeed, actual status: {0}",
                GetStatus(status));

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "5.	The first client closes the file.");
            client.CloseSharedVirtualDisk();
            BaseTestSite.Log.Add(LogEntryKind.TestStep, "6.	The second client closes the file.");
            secondClient.CloseSharedVirtualDisk();
        }