Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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