Listing 4: IFileEntry interface.
interface IFileEntry : IDispatch
{
HRESULT Path([out, retval] BSTR *pVal);
HRESULT Drive([out, retval] OLECHAR *pVal);
HRESULT Directory([out, retval] BSTR *pVal);
HRESULT DirectoryPath([out, retval] BSTR *pVal);
HRESULT DirectoryParts([out, retval] LPUNKNOWN *pVal);
HRESULT File([out, retval] BSTR *pVal);
HRESULT ShortFile([out, retval] BSTR *pVal);
HRESULT FileName([out, retval] BSTR *pVal);
HRESULT FileExt([out, retval] BSTR *pVal);
HRESULT CreationTime([out, retval] DATE *pVal);
HRESULT ModificationTime([out, retval] DATE *pVal);
HRESULT LastAccessTime([out, retval] DATE *pVal);
HRESULT LastStatusChangeTime([out, retval] DATE *pVal);
HRESULT Size([out, retval] long *pVal);
HRESULT IsReadOnly([out, retval] BOOL *pVal);
HRESULT IsDirectory([out, retval] BOOL *pVal);
};