CReplicationItem.Attributes Property
Gets the file attribute settings that are assigned to an item, a file, or an Internet Information Services (IIS) metabase item.
object Attributes { get; }
Return Value
A read-only bit field where the bits have the meanings defined in the following table.
Attribute name |
Bit |
Description |
---|---|---|
FILE_ATTRIBUTE_READONLY |
1 (0x1) |
The item is read-only. |
FILE_ATTRIBUTE_HIDDEN |
2 (0x2) |
The item is hidden. |
FILE_ATTRIBUTE_SYSTEM |
4 (0x4) |
The item is a system item. |
FILE_ATTRIBUTE_DIRECTORY |
16 (0x10) |
The item is an IIS metabase directory. |
FILE_ATTRIBUTE_ARCHIVE |
32 (0x20) |
The item has the archive bit set. |
FILE_ATTRIBUTE_ENCRYPTED |
64 (0x40) |
The item is encrypted. |
FILE_ATTRIBUTE_NORMAL |
128 (0x80) |
The item is a typical file or directory. |
FILE_ATTRIBUTE_TEMPORARY |
256 (0x100) |
The item is a temporary directory. |
FILE_ATTRIBUTE_SPARSE_FILE |
512 (0x200) |
The item is a sparse file. |
FILE_ATTRIBUTE_REPARSE_POINT |
1024 (0x400) |
The item is a reparse point. |
FILE_ATTRIBUTE_COMPRESSED |
2048 (0x800) |
The item is a compressed file or directory. |
FILE_ATTRIBUTE_OFFLINE |
4096 (0x1000) |
The item is not available. |
Remarks
The attributes are defined in the WinNT.h header file.
The CReplicationItem object can be a file or an IIS metabase item. If the FILE_ATTRIBUTE_DIRECTORY attribute is not set, the CReplicationItem object is a file. If the CReplicationItem object is a file, the Attributes property contains the file attributes. If the FILE_ATTRIBUTE_DIRECTORY attribute is set, CReplicationItem is an IIS metabase item.
The CReplicationItem.Attributes property corresponds to the COM property named ReplicationItem.Attributes.
Example
The following example displays the attributes and all the other properties of a CReplicationItem object for the replication items that are in the \LocalProj directory for the project named Test.
CReplicationServer replicationServer = new CReplicationServer();
replicationServer.Initialize("");
CReplicationProject replicationProject = (CReplicationProject)replicationServer.OpenProject("Test", CSS_PROJECT_CREATION.OPEN_EXISTING_PROJECT);
CReplicationItem item;
int iterator = 0;
object i = iterator as object;
while (true)
{
try
{
// Get the next replication item
item = (CReplicationItem)replicationProject.EnumItems(@"\LocalProj", ref i);
Console.WriteLine("Name: {0}",item.Name);
Console.WriteLine("Attributes: {0}", item.Attributes);
Console.WriteLine("Creation time: {0}", item.CreationTime);
Console.WriteLine("Last access time: {0}", item.LastAccessTime);
Console.WriteLine("Last modified time: {0}", item.LastModifiedTime);
uint size;
size = Convert.ToUInt32(item.SizeLow) + (Convert.ToUInt32(item.SizeHigh) * Convert.ToUInt32(Math.Pow(2, 16)));
Console.WriteLine("Size: {0} bytes. \n", size);
}
catch (System.Runtime.InteropServices.COMException e)
{
// Quit if "No more items" error
if (e.ErrorCode == -2147422485)
break;
else
throw e;
}
}