private void AlternateDataStream_Query_FileAccessInformation(FileType fileType)
        {
            //Prerequisites: Create streams on a newly created file

            //Step 1: Query FILE_ACCESS_INFORMATION
            long byteCount;
            byte[] outputBuffer;
            FILE_ACCESS_INFORMATION fileAccessInfo = new FILE_ACCESS_INFORMATION();
            uint outputBufferSize = (uint)TypeMarshal.ToBytes<FILE_ACCESS_INFORMATION>(fileAccessInfo).Length;

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "{0}. QueryFileInformation with FileInfoClass.FILE_ACCESS_INFORMATION", ++testStep);
            status = this.fsaAdapter.QueryFileInformation(FileInfoClass.FILE_ACCESS_INFORMATION, outputBufferSize, out byteCount, out outputBuffer);
            this.fsaAdapter.AssertIfNotSuccess(status, "QueryFileInformation with FileInfoClass.FILE_ACCESS_INFORMATION operation failed.");

            // Step 2: Verify FILE_ACCESS_INFORMATION
            fileAccessInfo = TypeMarshal.ToStruct<FILE_ACCESS_INFORMATION>(outputBuffer);

            BaseTestSite.Log.Add(LogEntryKind.TestStep, "{0}. Verify outputBuffer.AccessFlags", ++testStep);
            BaseTestSite.Assert.IsNotNull(fileAccessInfo, "The outputBuffer.AccessFlags MUST be set to Open.GrantedAccess.");
        }
        /// <summary>
        /// Verify the data type FILE_ACCESS_INFORMATION 
        /// </summary>
        /// <param name="fileAccessInformation"> FILE_ACCESS_INFORMATION type data </param>
        public void VerifyDataTypeFileAccessInformation(
            FILE_ACCESS_INFORMATION fileAccessInformation)
        {
            Site.DefaultProtocolDocShortName = "MS-FSCC";

            //
            // Add the debug information
            //
            Site.Log.Add(LogEntryKind.Debug, "MS-FSCC_R976,AccessFlags is {0}", fileAccessInformation.AccessFlags);

            //
            // Verify requirement 976
            //
            Site.CaptureRequirementIfAreEqual<int>(
                4 ,
                Marshal.SizeOf(fileAccessInformation.AccessFlags),
                976,
                @"[In FILE_ACCESS_INFORMATION]AccessFlags (4 bytes):  A DWORD that MUST contain values specified in
                ACCESS_MASK of [MS-DTYP].");

            // As the FILE_ACCESS_INFORMATION only contains the AccessFlags elements
            // And the AccessFlags is verified above, this rs can be captured directly
            Site.CaptureRequirement(
                975,
                @"The FILE_ACCESS_INFORMATION data element is as follows:[AccessFlags].");

            //
            // Add the debug information
            //
            Site.Log.Add(LogEntryKind.Debug,
                "Verify MS-FSCC_R982");

            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(FILE_ACCESS_INFORMATION),
                fileAccessInformation.GetType(),
                982,
                @"[In FileAllInformation]AccessInformation (4 bytes):
                A FILE_ACCESS_INFORMATION structure specified in section 2.4.1.");

            Site.DefaultProtocolDocShortName = Site.Properties["ProtocolShortName"];
        }