タイトル : Re: VB.NET で、UnLha32 投稿日 : 2012/05/16(Wed) 13:33 投稿者 : shu
とりあえず構造体定義を以下のようにするとどうでしょう? Private Const FNAME_MAX32 As Integer = 512 <StructLayout(LayoutKind.Sequential)> _ Public Structure typINDIVIDUALINFO <MarshalAs(UnmanagedType.U4)> Public dwOriginalSize As Integer '--- ファイルのサイズ <MarshalAs(UnmanagedType.U4)> Public dwCompressedSize As Integer '--- 圧縮後のサイズ <MarshalAs(UnmanagedType.U4)> Public dwCRC As Integer '--- 格納ファイルのチェックサム <MarshalAs(UnmanagedType.U4)> Public uFlag As Integer '--- 処理結果 '--- Status flag <MarshalAs(UnmanagedType.U4)> Public uOSType As Integer '--- 書庫作成に使われた OS <MarshalAs(UnmanagedType.U2)> Public wRatio As Short '--- 圧縮率 <MarshalAs(UnmanagedType.U2)> Public wDate As Short '--- 格納ファイルの日付(DOS 形式) <MarshalAs(UnmanagedType.U2)> Public wTime As Short '--- 格納ファイルの時刻(〃) <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=FNAME_MAX32 + 1)> Public szFileName As String '--- 書庫名 <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=3)> Public dummy1 As String <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=8)> Public szAttribute As String '--- 格納ファイルの属性(書庫固有) <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=8)> Public szMode As String '--- 格納ファイルの格納モード(〃) End Structure |