private void VerifyFolderEntryID(FolderEntryID folderEntryID, StoreObjectType storeObjectType)
{
// Add the debug information.
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCDATA_R2225");
// Verify MS-OXCDATA requirement: MS-OXCDATA_R2225.
Site.CaptureRequirementIfAreEqual<int>(
0,
BitConverter.ToInt32(folderEntryID.Flag, 0),
"MS-OXCDATA",
2225,
@"[In Folder EntryID Structure] Flags (4 bytes): This value MUST be set to 0x00000000.");
// Add the debug information.
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCDATA_R2229");
// Verify MS-OXCDATA requirement: MS-OXCDATA_R2229.
Site.CaptureRequirementIfAreEqual<int>(
16,
folderEntryID.DataBaseGUID.Length,
"MS-OXCDATA",
2229,
@"[In Folder EntryID Structure] DatabaseGuid (16 bytes): A GUID associated with the Store object and corresponding to the ReplicaId field of the FID structure.");
// Add the debug information.
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCDATA_R2230");
// Verify MS-OXCDATA requirement: MS-OXCDATA_R2230.
Site.CaptureRequirementIfAreEqual<int>(
6,
folderEntryID.GlobalCounter.Length,
"MS-OXCDATA",
2230,
@"[In Folder EntryID Structure] GlobalCounter (6 bytes): An unsigned integer identifying the folder.");
// Add the debug information.
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCDATA_R2231");
// Verify MS-OXCDATA requirement: MS-OXCDATA_R2231.
Site.CaptureRequirementIfAreEqual<short>(
0,
BitConverter.ToInt16(folderEntryID.Pad, 0),
"MS-OXCDATA",
2231,
@"[In Folder EntryID Structure] Pad (2 bytes): This value MUST be set to zero.");
// Add the debug information.
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXORULE_R301");
// The structure of FolderEId is verified by the requirements MS-OXCDATA_R2225, MS-OXCDATA_R2229, MS-OXCDATA_R2230, and MS-OXCDATA_R2231.
// Verify MS-OXORULE_R301.
Site.CaptureRequirement(
301,
@"[In OP_MOVE and OP_COPY ActionData Structure] [Buffer Format for Standard Rules] FolderEID (variable): A structure that identifies the destination folder.");
if (storeObjectType == StoreObjectType.Mailbox)
{
// Add the debug information.
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCDATA_R2226");
// Verify MS-OXCDATA requirement: MS-OXCDATA_R2226.
Site.CaptureRequirementIfAreEqual<byte[]>(
this.mailboxGUID,
folderEntryID.ProviderUID,
"MS-OXCDATA",
2226,
@"[In Folder EntryID Structure] Provider UID (16 bytes): For a folder in a private mailbox, this value MUST be set to value of the MailboxGuid field from the RopLogon ROP response buffer ([MS-OXCROPS] section 2.2.3.1).");
}
}