public Int32 GetFilesOfType(String type, out List <LoaderFile> file_list) { var numFiles = GetNumberOfFilesOfType(type); FILE_C[] files = new FILE_C[numFiles]; var result = GetFilesOfType_C(loader, type, Marshal.UnsafeAddrOfPinnedArrayElement(files, 0), numFiles); file_list = new List <LoaderFile>(); if (result != 0) { return(result); } for (UInt32 i = 0; i < numFiles; i++) { file_list.Add(new LoaderFile { guid = files[i].guid, guid_str = Marshal.PtrToStringAnsi(files[i].guid_str), type = files[i].type, type_str = Marshal.PtrToStringAnsi(files[i].type_str) }); } return(result); }
public Int32 GetFile(out LoaderFile file, String name, String type) { FILE_C cFile = new FILE_C(); var r = GetFile_C(loader, ref cFile, name, type); if (r != 0) { file = new LoaderFile(); return(r); } file = new LoaderFile { guid = cFile.guid, guid_str = Marshal.PtrToStringAnsi(cFile.guid_str), type = cFile.type, type_str = Marshal.PtrToStringAnsi(cFile.type_str) }; return(r); }
public Error GetFiles(out List <LoaderFile> file_list) { var numFiles = GetNumberOfFiles(); FILE_C[] files = new FILE_C[numFiles]; var result = GetFiles_C(loader, Marshal.UnsafeAddrOfPinnedArrayElement(files, 0), numFiles); file_list = new List <LoaderFile>(); if (result.errornr != 469503388u) // 469503388u == "Success"_hash { return(result); } for (UInt32 i = 0; i < numFiles; i++) { file_list.Add(new LoaderFile { guid = files[i].guid, guid_str = Marshal.PtrToStringAnsi(files[i].guid_str), type = files[i].type, type_str = Marshal.PtrToStringAnsi(files[i].type_str) }); } return(result); }
static extern Int32 GetFile_C(UIntPtr loader, ref FILE_C file, String name, String type);