IFileSystemItem Interface

This interface provides access to properties and methods that are common to files and folders. Components that implement this interface will typically implement either IFile or IFolder as well.



Provides the attributes (FILE_ATTRIBUTE_*) for the file or folder.

IDL [propget] HRESULT Attributes([out, retval] unsigned long* pValue)
[propput] HRESULT Attributes([in] unsigned long newValue)
.NET UInt32 Attributes[get, set]
VB6 Attributes As Long


Provides the name of the file or folder, without any path prefix.

IDL [propget] HRESULT Basename([out, retval] BSTR* pValue)
.NET String Basename[get]
VB6 Basename As String


Provides the fully qualified path to the file or folder within the plugin’s file system.

IDL [propget] HRESULT FullPath([out, retval] BSTR* pValue)
.NET String FullPath[get]
VB6 FullPath As String


Provides the path to the file or folder. This should not include any trailing path separator characters.

IDL [propget] HRESULT Location([out, retval] BSTR* pValue)
.NET String Location[get]
VB6 Location As String


Provides the time of the last modification to the file or folder.

IDL [propget] HRESULT ModificationTime([out, retval] FILETIME* pValue)
.NET FILETIME ModificationTime[get]
VB6 ModificationTime As FILETIME



Deletes the file or folder. For folders, the bRecursive argument is used to control whether the folder should be removed if it contains files or folders.

    [in] VARIANT_BOOL bRecursive)
.NET void Delete(
    Boolean bRecursive)
VB6 Delete(
    bRecursive As Boolean)
  • bRecursive
    If True, the folder represented by this interface should be removed along with its content. If False, the folder should only be removed if it does not contain any files or folders.