Декларация
<code>typedef struct _SFILE_FIND_DATA
{
char cFileName[MAX_PATH]; // Full name of the found file
char * szPlainName; // Plain name of the found file
DWORD dwHashIndex; // Hash table index for the file
DWORD dwBlockIndex; // Block table index for the file
DWORD dwFileSize; // File size in bytes
DWORD dwFileFlags; // MPQ file flags
DWORD dwCompSize; // Compressed file size
DWORD dwFileTimeLo; // Low 32-bits of the file time (0 if not present)
DWORD dwFileTimeHi; // High 32-bits of the file time (0 if not present)
DWORD lcLocale; // Locale version
} SFILE_FIND_DATA, *PSFILE_FIND_DATA;
HANDLE WINAPI SFileFindFirstFile(HANDLE hMpq, const char * szMask, SFILE_FIND_DATA * lpFindFileData, const char * szListFile)
Я пытался
public unsafe struct SFILE_FIND_DATA
{
fixed byte cFileName[260]; // Full name of the found file
byte[] szPlainName; // Plain name of the found file
uint dwHashIndex; // Hash table index for the file
uint dwBlockIndex; // Block table index for the file
uint dwFileSize; // File size in bytes
uint dwFileFlags; // MPQ file flags
uint dwCompSize; // Compressed file size
uint dwFileTimeLo; // Low 32-bits of the file time (0 if not present)
uint dwFileTimeHi; // High 32-bits of the file time (0 if not present)
uint lcLocale; // Locale version
}
[DllImport("StormLib.dll")]
public static extern uint SFileFindFirstFile(IntPtr hMpq, [MarshalAs(UnmanagedType.LPStr)] string mask,
out SFILE_FIND_DATA filedata, [MarshalAs(UnmanagedType.LPStr)] string listfile);
Это правильно? Это не ошибка, но не возвращает то, что должно.