The SMB2 TREE_CONNECT Response packet is sent by the server when an SMB2 TREE_CONNECT request is processed successfully by the server. The server MUST set the TreeId of the newly created tree connect in the SMB 2.0 Protocol header of the response. This response is composed of an SMB2 Packet Header that is followed by this response structure:
            protected override uint TreeConnect(ushort creditCharge, ushort creditRequest, Packet_Header_Flags_Values flags, ulong messageId, ulong sessionId, 
                string server, string share, out Packet_Header header, out TREE_CONNECT_Response response)
            {
                uint treeConnectResponseCode = base.TreeConnect(creditCharge, creditRequest, flags, messageId, sessionId, server, share, out header, out response);

                if (supportV1)
                {
                    testSite.Assert.IsTrue(
                    response.ShareFlags.HasFlag(ShareFlags_Values.SHAREFLAG_ENABLE_HASH_V1),
                    "The share content should enable hash v1");
                }
                if (supportV2)
                {
                    testSite.Assert.IsTrue(
                    response.ShareFlags.HasFlag(ShareFlags_Values.SHAREFLAG_ENABLE_HASH_V2),
                    "The share content should enable hash v2");
                }

                return treeConnectResponseCode;
            }
 protected virtual uint TreeConnect(
     ushort creditCharge,
     ushort creditRequest,
     Packet_Header_Flags_Values flags,
     ulong messageId,
     ulong sessionId,
     string server,
     string share,
     out Packet_Header header,
     out TREE_CONNECT_Response response)
 {
     return client.TreeConnect(
                 creditCharge,
                 creditRequest,
                 flags,
                 messageId,
                 sessionId,
                 string.Format(@"\\{0}\{1}", server, share),
                 out treeId,
                 out header,
                 out response);
 }
            protected override uint TreeConnect(ushort creditCharge, ushort creditRequest, Packet_Header_Flags_Values flags, ulong messageId, ulong sessionId,
                string server, string share, out Packet_Header header, out TREE_CONNECT_Response response)
            {
                uint treeConnectResponseCode = base.TreeConnect(
                    creditCharge,
                    creditRequest,
                    flags,
                    messageId,
                    sessionId,
                    server,
                    share,
                    out header,
                    out response);

                this.isShareHashEnabled = response.ShareFlags.HasFlag(ShareFlags_Values.SHAREFLAG_ENABLE_HASH_V1)
                    || response.ShareFlags.HasFlag(ShareFlags_Values.SHAREFLAG_ENABLE_HASH_V2);
                BaseTestSite.Assert.AreEqual(
                    true,
                    this.isShareHashEnabled,
                    "The share folder should enable hash V1 or hash V2");

                return treeConnectResponseCode;
            }