public void CopyTo(IntPtr ptr, bool isUnicode) { if (ptr != IntPtr.Zero) { if (isUnicode) { var data = new TcFindDataW { FileAttributes = (int)Attributes, CreationTime = TcUtils.GetFileTime(CreationTime), LastAccessTime = TcUtils.GetFileTime(LastAccessTime), LastWriteTime = TcUtils.GetFileTime(LastWriteTime), FileSizeHigh = TcUtils.GetUHigh(FileSize), FileSizeLow = TcUtils.GetULow(FileSize), Reserved0 = Reserved0, Reserved1 = Reserved1, FileName = FileName, AlternateFileName = string.Empty }; Marshal.StructureToPtr(data, ptr, false); } else { var data = new TcFindData { FileAttributes = (int)Attributes, CreationTime = TcUtils.GetFileTime(CreationTime), LastAccessTime = TcUtils.GetFileTime(LastAccessTime), LastWriteTime = TcUtils.GetFileTime(LastWriteTime), FileSizeHigh = TcUtils.GetUHigh(FileSize), FileSizeLow = TcUtils.GetULow(FileSize), Reserved0 = Reserved0, Reserved1 = Reserved1, FileName = FileName, AlternateFileName = string.Empty }; Marshal.StructureToPtr(data, ptr, false); } } }