|
分類:[C#]
お世話になります。 FindFirstFile、FindNextFileでファイルの一覧を取得しようとしているのですが、 更新日付の取得部分でエラーがでてしまいました。
[StructLayout(LayoutKind.Sequential)] public struct FileTime { public uint dwLowDateTime; public uint dwHighDateTime; }
[StructLayout(LayoutKind.Sequential)] public struct SYSTEMTIME { public int wYear; public int wMonth; public int wDayOfWeek; public int wDay; public int wHour; public int wMinute; public int wSecond; public int wMilliseconds; }
[StructLayout(LayoutKind.Sequential)] public struct Win32FindData { public uint dwFileAttributes; public FileTime ftCreationTime; public FileTime ftLastAccessTime; public FileTime ftLastWriteTime; public uint nFileSizeHigh; public uint nFileSizeLow; public uint dwReserved0; public uint dwReserved1; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] public string cFileName; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 14)] public string cAlternateFileName; }
[DllImport("kernel32.dll")] public static extern int FileTimeToSystemTime( [MarshalAs(UnmanagedType.Struct)] ref FILETIME lpFileTime, [MarshalAs(UnmanagedType.Struct)] ref SYSTEMTIME lpSystemTime);
[DllImport("kernel32.dll")] public static extern int FileTimeToLocalFileTime( [MarshalAs(UnmanagedType.Struct)] ref FILETIME lpFileTime, [MarshalAs(UnmanagedType.Struct)] ref FILETIME lpLocalFileTime);
※fdはWin32FindData型 ※ftはFileTile型 ※fsはSYSTEMTIME型
FileTimeToLocalFileTime(ref fd.ftLastWriteTime, ref ft); //エラー発生部分 FileTimeToSystemTime(ref ft, ref st); //エラー発生部分
最初のエラー発生部分で以下のようなメッセージが出ております。 D:\TestTool\Form1.cs(1921,6): エラー CS1502: 'TestTool.fmMain.FileTimeToLocalFileTim(ref System.Runtime.InteropServices.FILETIME, ref System.Runtime.InteropServices.FILETIME)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。 2つ目も同様に無効な引数となっています。
どのような記載をすればよろしいでしょうか。
VisualStudio2010 C# Win7
以上、よろしくお願いします。
|