Msdelta Type

来源:互联网 发布:人工智能 教育 编辑:程序博客网 时间:2024/05/15 19:04

Msdelta Type

这是用工具自动生成的,原为 C# 版本,现改成 F# 版本。

工具叫做P/Invoke Interop Assistant GUI Tool的工具,P/Invoke Signature Generator,非常方便。
不仅支持托管代码和非托管代码之间的方法签名的转换,而且直接生成相关的 C# 或者 VB 的方法调用代码。另外签名转换,不仅限于 Windows 的方法签名,只要有 C 头文件,就可以转换成为相关的 C# 的import方法签名。
要变成 F# 代码,还需要转换一下。

namespace Microsoft.Win32open Systemopen System.Runtime.InteropServices#nowarn "9"//let DELTA_FILE_SIZE_LIMIT = ( 32 * 1024 * 1024 )//let DELTA_OPTIONS_SIZE_LIMIT = ( 128 * 1024 * 1024 )[<Struct; StructLayoutAttribute(LayoutKind.Explicit)>]type Anonymous_654d2e53_a177_4231_98a2_dbbc4dcf1d8a =    /// LPCVOID->void*    [<FieldOffsetAttribute(0)>]    val lpcStart : System.IntPtr     /// LPVOID->void*    [<FieldOffsetAttribute(0)>]    val lpStart : IntPtr[<Struct; StructLayoutAttribute(LayoutKind.Sequential)>]type DELTA_INPUT =    /// Anonymous_654d2e53_a177_4231_98a2_dbbc4dcf1d8a    val Union1 : Anonymous_654d2e53_a177_4231_98a2_dbbc4dcf1d8a    /// SIZE_T->ULONG_PTR->unsigned int    val uSize : UInt32    /// BOOL->int    [<MarshalAsAttribute(UnmanagedType.Bool)>]    val Editable : bool[<Struct; StructLayoutAttribute(LayoutKind.Sequential)>]type DELTA_OUTPUT =    /// LPVOID->void*    val lpStart : System.IntPtr    /// SIZE_T->ULONG_PTR->unsigned int    val uSize : UInt32[<Struct; StructLayoutAttribute(LayoutKind.Sequential, CharSet=CharSet.Ansi)>]type DELTA_HASH =     /// DWORD->unsigned int    val HashSize : UInt32    /// UCHAR[]    [<MarshalAsAttribute(UnmanagedType.ByValTStr,SizeConst=32)>]    val HashValue : string[<Struct; StructLayoutAttribute(LayoutKind.Sequential)>]type DELTA_HEADER_INFO =    /// DELTA_FILE_TYPE->__int64    val FileTypeSet : Int64    /// DELTA_FILE_TYPE->__int64    val FileType : Int64    /// DELTA_FLAG_TYPE->__int64    val Flags : Int64    /// SIZE_T->ULONG_PTR->unsigned int    val TargetSize : UInt32    /// FILETIME->_FILETIME    val TargetFileTime : ComTypes.FILETIME    /// ALG_ID->unsigned int    val TargetHashAlgId : UInt32    /// DELTA_HASH->_DELTA_HASH    val TargetHash : DELTA_HASH//    val TargetHash : UInt32 * string[<Struct; StructLayoutAttribute(LayoutKind.Sequential)>]type FILETIME =    /// DWORD->unsigned int    val dwLowDateTime : UInt32    /// DWORD->unsigned int    val dwHighDateTime : UInt32 
0 0
原创粉丝点击