ICcConnection::GetFileInfo (Windows CE 5.0)
This method returns file information in a FileInfo structure.
HRESULT GetFileInfo( LPCOLESTRin_szDeviceFile,FileInfo*out_pFileInfo);
Parameters
in_szDeviceFile
[in] The device file name.This parameter can also designate a CSIDL special directory. For more information, see Remarks.
out_pFileInfo
[out] Pointer to the FileInfo structure.
Return Values
If the method fails, it returns an HRESULT error code.
If the method succeeds, it returns one of the following:
Value | Description |
---|---|
S_OK | Indicates the method call was successful. |
E_INVALIDARG | Indicates invalid arguments. |
E_FAIL | Indicates any other failure. |
Remarks
The FileInfo structure returned in out_pFileInfo combines the file attribute information from GetFileAttributes, GetFileSize, and GetFileTime.
The following code example shows how to use ICcConnection::GetFileInfo to determine of a directory exists.
FileInfo tempFileInfo;
LPCOLESTR directoryName = L"\\windows\\SomeDirectory";
HRESULT hr = piICcConnection->GetFileInfo(directoryName,&tempFileInfo);
bool IsDirectory = ((tempFileInfo.m_FileAttributes &
FILE_ATTRIBUTE_DIRECTORY)>0)?true :false;
The call to ICcConnection::GetFileInfo returns E_FAIL if SomeDirectory does not exist.
In addtion, the caller can specify a CSIDL file path for in_szDesktopFile and in_szDeviceFile using a special string substitution format.
CSIDL values provide a unique system-independent way to identify these special folders. The values supersede the use of environment variables for this purpose.
The format of the substitution string is %CSIDL_<tag>%\mydirectory\myfile.ext, where CSIDL_<tag>``must be one of the following strings.
CSIDL_<tag> string | Description |
---|---|
CSIDL_APPDATA | File system directory that serves as a common repository for application-specific data. |
CSIDL_COMMON_APPDATA | File system directory containing application data for all users.
A typical path is C:\Documents and Settings\All Users\Application Data. |
CSIDL_DESKTOPDIRECTORY | Prior to Windows CE .NET 4.2, not supported.
In Windows CE .NET 4.2 and later, the file system path to the desktop directory. |
CSIDL_FAVORITES | File system directory that serves as a common repository for the user's favorite items. |
CSIDL_FONTS | Virtual folder containing fonts. |
CSIDL_PERSONAL | File system directory that serves as a common repository for documents. |
CSIDL_PROFILE | Folder that contains the profile of the user. |
CSIDL_PROGRAM_FILES | Program files folder. |
CSIDL_PROGRAMS | File system directory that contains the user's program groups, which are also file system directories. |
CSIDL_STARTMENU | File system directory that contains Start menu items. |
CSIDL_STARTUP | File system directory that corresponds to the user's Startup program group.
The system starts these programs when a device is turned on. |
CSIDL_WINDOWS | Windows folder. |
Each of the CSIDL tags expands to the information provided by SHGetSpecialFolderPath.
That is, the following string
%CSIDL_WINDOWS%\myfile.txt
expands to \WINDOWS\myfile.txt,
if SHGetSpecialFolderPath returns
\Windows
when passed CSIDL_WINDOWS.
The CSIDL_<tag>
string must appear as the first element in the argument.
Requirements
OS Version: Windows 2000, Windows XP Home, Windows XP Pro, Windows Server 2003, and Windows Server 2003 Service Pack 1.
Header: CcConnection.h.
Link Library: none.
See Also
Send Feedback on this topic to the authors