Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 12.66 KB | None | 0 0
  1. [<ComImport; Interface>]
  2. [<InterfaceType(ComInterfaceType.InterfaceIsIUnknown); Guid("7DAC8207-D3AE-4c75-9B67-92801A497D44")>]
  3. [<SuppressUnmanagedCodeSecurity>]
  4. type IMetadataImport =
  5.     [<PreserveSig>]
  6.     abstract CloseEnum : handleEnum: u32 -> unit
  7.     abstract CountEnum : handleEnum: u32 -> u32
  8.     abstract ResetEnum : handleEnum: u32 * ulongPos: u32 -> unit
  9.     abstract EnumTypeDefs :
  10.         handlePointerEnum : byref<u32> *
  11.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2s)>] arrayTypeDefs : u32 array *
  12.         countMax : u32 -> u32
  13.     abstract EnumInterfaceImpls :
  14.         handlePointerEnum : byref<u32> *
  15.         td : u32 *
  16.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] arrayTypeDefs : u32 array *
  17.         countMax : u32 -> u32
  18.     abstract EnumTypeRefs :
  19.         handlePointerEnum : byref<u32> *
  20.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2s)>] arrayTypeDefs : u32 array *
  21.         countMax : u32 -> u32
  22.     abstract FindTypeDefByName :
  23.         stringTypeDef : string *
  24.         tokenEnclosingClass : u32 -> u32
  25.     abstract GetScopeProps :
  26.         stringName : sb *
  27.         cchName : u32 *
  28.         [<Out>] pchName : byref<u32> -> Guid
  29.     abstract GetModuleFromScope : unit -> u32
  30.     abstract GetTypeDefProps :
  31.         td : u32 *
  32.         stringTypeDef : nativeint *
  33.         cchTypeDef : u32 *
  34.         [<Out>] pchTypeDef : byref<u32> *
  35.         pdwTypeDefFlags : nativeint -> u32
  36.     abstract GetInterfaceImplProps :
  37.         impl : u32 *
  38.         [<Out>] pointerClass : byref<u32> -> u32
  39.     abstract GetTypeRefProps :
  40.         tr : u32 *
  41.         [<Out>] ptkResolutionScope : byref<u32> *
  42.         stringName : sb *
  43.         cchName : u32 -> u32
  44.     abstract ResolveTypeRef :
  45.         tr : u32 *
  46.         [<In>] riid : byref<Guid> *
  47.         [<Out; MarshalAs(UnmanagedType.Interface)>] ppIScope : byref<obj> -> u32
  48.     abstract EnumMembers :
  49.         handlePointerEnum : byref<u32> *
  50.         cl : u32 *
  51.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] arrayMembers : u32 array *
  52.         countMax : u32 -> u32
  53.     abstract EnumMembersWithName :
  54.         handlePointerEnum : byref<u32> *
  55.         cl : u32 *
  56.         stringName : string *
  57.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 4s)>] arrayMembers : u32 array *
  58.         countMax : u32 -> u32
  59.     abstract EnumMethods :
  60.         handlePointerEnum : byref<u32> *
  61.         cl : u32 *
  62.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] arrayMethods : u32 array *
  63.         countMax : u32 -> u32
  64.     abstract EnumMethodsWithName :
  65.         handlePointerEnum : byref<u32> *
  66.         cl : u32 *
  67.         stringName : string *
  68.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 4s)>] arrayMethods : u32 array *
  69.         countMax : u32 -> u32
  70.     abstract EnumFields :
  71.         handlePointerEnum : byref<u32> *
  72.         cl : u32 *
  73.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] arrayFields : u32 array *
  74.         countMax : u32 -> u32
  75.     abstract EnumFieldsWithName :
  76.         handlePointerEnum : byref<u32> *
  77.         cl : u32 *
  78.         stringName : string *
  79.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 4s)>] arrayFields : u32 array *
  80.         countMax : u32 -> u32
  81.     abstract EnumParams :
  82.         handlePointerEnum : byref<u32> *
  83.         mb : u32 *
  84.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] arrayParams : u32 array *
  85.         countMax : u32 -> u32
  86.     abstract EnumMemberRefs :
  87.         handlePointerEnum : byref<u32> *
  88.         tokenParent : u32 *
  89.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] arrayMemberRefs : u32 array *
  90.         countMax : u32 -> u32
  91.     abstract EnumMethodImpls :
  92.         handlePointerEnum : byref<u32> *
  93.         td : u32 *
  94.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 4s)>] arrayMethodBody : u32 array *
  95.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 4s)>] arrayMethodDecl : u32 array *
  96.         countMax : u32 -> u32
  97.     abstract EnumPermissionSets :
  98.         handlePointerEnum : byref<u32> *
  99.         tk : u32 *
  100.         dwordActions : u32 *
  101.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 4s)>] arrayPermission : u32 array *
  102.         countMax : u32 -> u32
  103.     abstract FindMember :
  104.         td : u32 *
  105.         stringName : string *
  106.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] voidPointerSigBlob : byte array *
  107.         byteCountSigBlob : u32 -> u32
  108.     abstract FindMethod :
  109.         td : u32 *
  110.         stringName : string *
  111.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] voidPointerSigBlob : byte array *
  112.         byteCountSigBlob : u32 -> u32
  113.     abstract FindField :
  114.         td : u32 *
  115.         stringName : string *
  116.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] voidPointerSigBlob : byte array *
  117.         byteCountSigBlob : u32 -> u32
  118.     abstract FindMemberRef :
  119.         td : u32 *
  120.         stringName : string *
  121.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] voidPointerSigBlob : byte array *
  122.         byteCountSigBlob : u32 -> u32
  123.     abstract GetMethodProps :
  124.         mb : u32 *
  125.         [<Out>] pointerClass : byref<u32> *
  126.         stringMethod : nativeint *
  127.         cchMethod : u32 *
  128.         [<Out>] pchMethod : byref<u32> *
  129.         pdwAttr : nativeint *
  130.         ppvSigBlob : nativeint *
  131.         pcbSigBlob : nativeint *
  132.         pulCodeRVA : nativeint -> u32
  133.     abstract GetMemberRefProps :
  134.         mr : u32 *
  135.         ptk : byref<u32> *
  136.         stringMember : sb *
  137.         cchMember : u32 *
  138.         [<Out>] pchMember : byref<u32> *
  139.         [<Out>] ppvSigBlob : byref<nativeint> -> u32 // nativeint = byte*
  140.     abstract EnumProperties :
  141.         handlePointerEnum : byref<u32> *
  142.         td : u32 *
  143.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] arrayProperties : u32 array *
  144.         maxCount : u32 -> u32
  145.     abstract EnumEvents :
  146.         handlePointerEnum : byref<u32> *
  147.         td : u32 *
  148.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] arrayEvents : u32 array *
  149.         maxCount : u32 -> u32
  150.     abstract GetEventProps :
  151.         ev : u32 *
  152.         [<Out>] pointerClass : byref<u32> *
  153.         stringEvent : sb *
  154.         cchEvent : u32 *
  155.         [<Out>] pchEvent : byref<u32> *
  156.         [<Out>] pdwEventFlags : byref<u32> *
  157.         [<Out>] ptkEventType : byref<u32> *
  158.         [<Out>] pmdAddOn : byref<u32> *
  159.         [<Out>] pmdRemoveOn : byref<u32> *
  160.         [<Out>] pmdFire : byref<u32> *
  161.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 11s)>] rmdOtherMethod : u32 array *
  162.         countMax : u32 -> u32
  163.     abstract EnumMethodSemantics :
  164.         handlePointerEnum : byref<u32> *
  165.         mb : u32 *
  166.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] arrayEventProp : u32 array *
  167.         maxCount : u32 -> u32
  168.     abstract GetMethodSemantics :
  169.         mb : u32 *
  170.         tokenEventProp : u32 -> u32
  171.     abstract GetClassLayout :
  172.         td : u32 *
  173.         [<Out>] pdwPackSize : byref<u32> *
  174.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3s)>] arrayFieldOffset : COR_FIELD_OFFSET array *
  175.         countMax : u32 *
  176.         [<Out>] countPointerFieldOffset : byref<u32> -> u32
  177.     abstract GetFieldMarshal :
  178.         tk : u32 *
  179.         [<Out>] ppvNativeType : byref<nativeint> -> u32 // nativeint = byte*
  180.     abstract GetRVA :
  181.         tk : u32 *
  182.         [<Out>] pulCodeRVA : byref<u32> -> u32
  183.     abstract GetPermissionSetProps :
  184.         pm : u32 *
  185.         [<Out>] pdwAction : byref<u32> *
  186.         [<Out>] ppvPermission : byref<nativeint> -> u32
  187.     abstract GetSigFromToken :
  188.         memberDefSig : u32 *
  189.         [<Out>] ppvSig : byref<nativeint> *
  190.         [<Out>] pcbSig : byref<u32> -> u32
  191.     abstract GetModuleRefProps :
  192.         mur : u32 *
  193.         stringName : sb *
  194.         cchName : u32 -> u32
  195.     abstract EnumModuleRefs :
  196.         handlePointerEnum : byref<u32> *
  197.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2s)>] arrayModuleRefs : u32 array *
  198.         countMax : u32 -> u32
  199.     abstract GetTypeSpecFromToken :
  200.         typespec : u32 *
  201.         [<Out>] pvvSig : byref<nativeint> -> u32 // nativeint = byte*
  202.     abstract GetNameFromToken :
  203.         tk : u32 -> u32
  204.     abstract EnumUnresolvedMethods :
  205.         handlePointerEnum : byref<u32> *
  206.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2s)>] arrayMethods : u32 array *
  207.         countMax : u32 -> u32
  208.     abstract GetUserString :
  209.         stk : u32 *
  210.         stringString : sb *
  211.         cchString : u32 -> u32
  212.     abstract GetPinvokeMap :
  213.         tk : u32 *
  214.         [<Out>] pdwMappingFlags : byref<u32> *
  215.         stringImportName : sb *
  216.         cchImportName : u32 *
  217.         [<Out>] pchImportName : byref<u32> -> u32
  218.     abstract EnumSignatures :
  219.         handlePointerEnum : byref<u32> *
  220.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2s)>] arraySignatures : u32 array *
  221.         countMax : u32 -> u32
  222.     abstract EnumTypeSpecs :
  223.         handlePointerEnum : byref<u32> *
  224.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2s)>] arraySignatures : u32 array *
  225.         countMax : u32 -> u32
  226.     abstract EnumUserStrings :
  227.         handlePointerEnum : byref<u32> *
  228.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2s)>] arraySignatures : u32 array *
  229.         countMax : u32 -> u32
  230.     [<PreserveSig>]
  231.     abstract GetParamForMethodIndex :
  232.         md : u32 *
  233.         ulongParamSeq : u32 *
  234.         [<Out>] pointerParam : byref<u32> -> int32
  235.     abstract EnumCustomAttributes :
  236.         handlePointerEnum : byref<u32> *
  237.         tk : u32 *
  238.         tokenType: u32 *
  239.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 4s)>] arrayCustomAttributes : u32 array *
  240.         countMax : u32 -> u32
  241.     abstract GetCustomAttributeProps :
  242.         cv : u32 *
  243.         [<Out>] ptkObj : byref<u32> *
  244.         [<Out>] ptkType : byref<u32> *
  245.         [<Out>] ppBlob : byref<nativeint> -> u32 // nativeint = byte*
  246.     abstract FindTypeRef :
  247.         tokenResolutionScope : u32 *
  248.         stringName : string -> u32
  249.     abstract GetMemberProps :
  250.         mb : u32 *
  251.         [<Out>] pointerClass : byref<u32> *
  252.         stringMember : sb *
  253.         cchMember : u32 *
  254.         [<Out>] pchMember : byref<u32> *
  255.         [<Out>] pdwAttr : byref<u32> *
  256.         [<Out>] ppvSigBlob : byref<nativeint> * // nativeint = byte*
  257.         [<Out>] pcbSigBlob : byref<u32> *
  258.         [<Out>] pulCodeRVA : byref<u32> *
  259.         [<Out>] pdwImplFlags : byref<u32> *
  260.         [<Out>] pdwCPlusTypeFlag : byref<u32> *
  261.         [<Out>] ppValue : byref<nativeint> -> u32 // nativeint = void*
  262.     abstract GetFieldProps :
  263.         mb : u32 *
  264.         [<Out>] pointerClass : byref<u32> *
  265.         stringField : sb *
  266.         cchField : u32 *
  267.         [<Out>] pchField : byref<u32> *
  268.         [<Out>] pdwAttr : byref<u32> *
  269.         [<Out>] ppvSigBlob : byref<nativeint> * // nativeint = byte*
  270.         [<Out>] pcbSigBlob : byref<u32> *
  271.         [<Out>] pdwCPlusTypeFlag : byref<u32> *
  272.         [<Out>] ppValue : byref<nativeint> -> u32 // nativeint = void*
  273.     abstract GetPropertyProps :
  274.         prop : u32 *
  275.         [<Out>] pointerClass : byref<u32> *
  276.         stringProperty : sb *
  277.         cchProperty : u32 *
  278.         [<Out>] pchProperty : byref<u32> *
  279.         [<Out>] pdwPropFlags : byref<u32> *
  280.         [<Out>] ppvSig : byref<nativeint> * // nativeint = byte*
  281.         [<Out>] bytePointerSig : byref<u32> *
  282.         [<Out>] pdwCPlusTypeFlag : byref<u32> *
  283.         [<Out>] ppDefaultValue : byref<nativeint> * // nativeint = void*
  284.         [<Out>] pcchDefaultValue : byref<u32> *
  285.         [<Out>] pmdSetter : byref<u32> *
  286.         [<Out>] pmdGetter : byref<u32> *
  287.         [<MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 14s)>] rmdOtherMethod : u32 array *
  288.         countMax : u32 -> u32
  289.     abstract GetParamProps :
  290.         tk : u32 *
  291.         [<Out>] pmd : byref<u32> *
  292.         [<Out>] pulSequence : byref<u32> *
  293.         stringName : sb *
  294.         cchName : u32 *
  295.         [<Out>] pchName : byref<u32> *
  296.         [<Out>] pdwAttr : byref<u32> *
  297.         [<Out>] pdwCPlusTypeFlag : byref<u32> *
  298.         [<Out>] ppValue : byref<nativeint> -> u32 // nativeint = void*
  299.     abstract GetCustomAttributeByName :
  300.         tokenObj : u32 *
  301.         stringName : string *
  302.         [<Out>] ppData : byref<nativeint> -> u32 // nativeint = void*
  303.     [<PreserveSig>]
  304.     abstract IsValidToken : tk : u32 -> [<return: MarshalAs(UnmanagedType.Bool)>] bool
  305.     abstract GetNestedClassProps : typeDefNestedClass : u32 -> u32
  306.     abstract GetNativeCallConvFromSig :
  307.         voidPointerSig : nativeint * // nativeint = void*
  308.         byteCountSig : u32 -> u32
  309.     abstract IsGlobal : pd : u32 -> int32
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement