Указатели на структуру - C#
Формулировка задачи:
Для извлечения пути к файлу из ярлыка я использую WinApi GetPath(), аргументом которой является указатель на структуру WIN32_FIND_DATA. вот код объявления данной структуры:
далее мне необходимо создать переменную - указатель на структуру:
при компиляции выдаёт следующий ошибки:
строка "WIN32_FIND_DATA* tmpInfoPtr;" - error CS0208: Cannot take the address of, get the size of, or declare a pointer to a managed type
строка "struct WIN32_FIND_DATA" - (Related location)
строка "tmpInfoPtr = &tmpInfo;" - error CS0208: Cannot take the address of, get the size of, or declare a pointer to a managed type
что я делаю неправильно?
[StructLayout( LayoutKind.Sequential, CharSet = CharSet.Auto )] struct WIN32_FIND_DATA { public uint dwFileAttributes; public UInt32 ftCreationTime; public UInt32 ftLastAccessTime; public UInt32 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; }
unsafe { WIN32_FIND_DATA tmpInfo = new WIN32_FIND_DATA(); tmpInfo.cAlternateFileName = ""; tmpInfo.cFileName = ""; tmpInfo.dwFileAttributes = 0; tmpInfo.dwReserved0 = 0; tmpInfo.dwReserved1 = 0; tmpInfo.ftCreationTime = 0; tmpInfo.ftLastAccessTime = 0; tmpInfo.ftLastWriteTime = 0; tmpInfo.nFileSizeHigh = 0; tmpInfo.nFileSizeLow = 0; WIN32_FIND_DATA* tmpInfoPtr; tmpInfoPtr = &tmpInfo; }
Решение задачи: «Указатели на структуру»
textual
Листинг программы
Shell32.Shell shell = new Shell32.Shell();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д