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); };