.NET mshtml: How to pass a BSTR SAFEARRAY?

前端 未结 3 1347
孤独总比滥情好
孤独总比滥情好 2021-01-22 12:21

The class mshtml.HTMLDocumentClass in Microsoft.mshtml.dll assembly has a method:

public virtual void write(params object[] psarray);

Avoiding

3条回答
  •  不要未来只要你来
    2021-01-22 12:58

    It works like a charm this way :

    [Guid("332C4425-26CB-11D0-B483-00C04FD90119")]
    [ComImport]
    [TypeLibType((short)4160)]
    [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
    internal interface IHTMLDocument2
    {
        [DispId(1054)]
        void write([MarshalAs(UnmanagedType.BStr)] string psArray); //modified 
        //void write([MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_VARIANT)] object[] psarray); //instead of
    

提交回复
热议问题