/ Published in: VB.NET
URL: http://winofsql.jp/VA003334/dnettool080617015020.htm
Expand |
Embed | Plain Text
Imports System.Runtime.InteropServices Public Class Form1 ' ******************************************************** ' * 構造体定義 ' ******************************************************** <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi)> _ Public Class INDIVIDUALINFO Public dwOriginalSize As Integer = 1 Public dwCompressedSize As Integer = 1 Public dwCRC As Integer = 1 Public uFlag As Integer = 1 Public uOSType As Integer = 1 Public wRatio As Short = 1 Public wDate As Short = 1 Public wTime As Short = 1 <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=513)> _ Public szFileName As String = "A" <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=3)> _ Public dummy1 As String = "B" <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=8)> _ Public szAttribute As String = "C" <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=8)> _ Public szMode As String = "D" End Class <DllImport("Kernel32.dll", CharSet:=CharSet.Ansi, EntryPoint:="RtlMoveMemory")> _ Private Shared Sub CopyMyStruct( _ ByVal forFile As Byte(), _ <[In](), Out()> ByVal Source As INDIVIDUALINFO, _ ByVal Length As Integer) End Sub Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim data As New INDIVIDUALINFO() Dim forFile As Byte() = New Byte(Marshal.SizeOf(data) - 1) {} CopyMyStruct(forFile, data, Marshal.SizeOf(data)) End Sub End Class
You need to login to post a comment.
