Baca dalam bahasa Inggris

Bagikan melalui


VarEnum Enum

Definisi

Perhatian

Marshalling VARIANTs may be unavailable in future releases.

Menunjukkan cara marsekal elemen array ketika array di-marshalasikan dari berhasil ke kode yang tidak dikelola sebagai SafeArray.

C#
[System.Obsolete("Marshalling VARIANTs may be unavailable in future releases.")]
public enum VarEnum
C#
public enum VarEnum
C#
[System.Serializable]
public enum VarEnum
C#
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum VarEnum
Warisan
Atribut

Bidang

Nama Nilai Deskripsi
VT_ARRAY 8192

SAFEARRAY Menunjukkan penunjuk.

VT_BLOB 65

Menunjukkan panjang byte yang diawali.

VT_BLOB_OBJECT 70

Menunjukkan bahwa blob berisi objek .

VT_BOOL 11

Menunjukkan nilai Boolean.

VT_BSTR 8

Menunjukkan string BSTR.

VT_BYREF 16384

Menunjukkan bahwa nilai adalah referensi.

VT_CARRAY 28

Menunjukkan array gaya C.

VT_CF 71

Menunjukkan format clipboard.

VT_CLSID 72

Menunjukkan ID kelas.

VT_CY 6

Menunjukkan nilai mata uang.

VT_DATE 7

Menunjukkan nilai DATE.

VT_DECIMAL 14

decimal Menunjukkan nilai.

VT_DISPATCH 9

IDispatch Menunjukkan penunjuk.

VT_EMPTY 0

Menunjukkan bahwa nilai tidak ditentukan.

VT_ERROR 10

Menunjukkan SCODE.

VT_FILETIME 64

Menunjukkan nilai FILETIME.

VT_HRESULT 25

Menunjukkan HRESULT.

VT_I1 16

char Menunjukkan nilai.

VT_I2 2

Menunjukkan bilangan short bulat.

VT_I4 3

Menunjukkan bilangan long bulat.

VT_I8 20

Menunjukkan bilangan bulat 64-bit.

VT_INT 22

Menunjukkan nilai bilangan bulat.

VT_LPSTR 30

Menunjukkan string yang dihentikan null.

VT_LPWSTR 31

Menunjukkan string lebar yang dihentikan oleh null.

VT_NULL 1

Menunjukkan nilai null, mirip dengan nilai null di SQL.

VT_PTR 26

Menunjukkan jenis penunjuk.

VT_R4 4

float Menunjukkan nilai.

VT_R8 5

double Menunjukkan nilai.

VT_RECORD 36

Menunjukkan jenis yang ditentukan pengguna.

VT_SAFEARRAY 27

Menunjukkan SAFEARRAY. Tidak valid dalam VARIAN.

VT_STORAGE 67

Menunjukkan bahwa nama penyimpanan mengikuti.

VT_STORED_OBJECT 69

Menunjukkan bahwa penyimpanan berisi objek.

VT_STREAM 66

Menunjukkan bahwa nama aliran mengikuti.

VT_STREAMED_OBJECT 68

Menunjukkan bahwa aliran berisi objek.

VT_UI1 17

byteMenunjukkan .

VT_UI2 18

unsigned shortMenunjukkan .

VT_UI4 19

unsigned longMenunjukkan .

VT_UI8 21

Menunjukkan bilangan bulat yang tidak ditandatangani 64-bit.

VT_UINT 23

Menunjukkan nilai bilangan unsigned bulat.

VT_UNKNOWN 13

IUnknown Menunjukkan penunjuk.

VT_USERDEFINED 29

Menunjukkan jenis yang ditentukan pengguna.

VT_VARIANT 12

Menunjukkan penunjuk VARIAN far .

VT_VECTOR 4096

Menunjukkan array sederhana yang dihitung.

VT_VOID 24

Menunjukkan gaya voidC .

Contoh

C#
using System;
using System.Runtime.InteropServices;

namespace MyModule
{
    // If you do not have a type library for an interface
    // you can redeclare it using ComImportAttribute.

    // This is how the interface would look in an idl file.

    //[
    //object,
    //uuid("73EB4AF8-BE9C-4b49-B3A4-24F4FF657B26"),
    //dual,	helpstring("IMyStorage Interface"),
    //pointer_default(unique)
    //]
    //interface IMyStorage : IDispatch
    //{
    //	[id(1)]
    //	HRESULT GetItem([in] BSTR bstrName, [out, retval] IDispatch ** ppItem);
    //	[id(2)]
    //	HRESULT GetItems([in] BSTR bstrLocation, [out] SAFEARRAY(VARIANT)* pItems);
    //	[id(3)]
    //	HRESULT GetItemDescriptions([in] BSTR bstrLocation, [out] SAFEARRAY(VARIANT) ** ppItems);
    //	[id(4), propget]
    //	HRESULT get_IsEmpty([out, retval] BOOL * pfEmpty);
    //};

    // This is the managed declaration.

    [ComImport]
    [Guid("73EB4AF8-BE9C-4b49-B3A4-24F4FF657B26")]
    public interface IMyStorage
    {
        [DispId(1)]
        [return: MarshalAs(UnmanagedType.Interface)]
        object GetItem([In, MarshalAs(UnmanagedType.BStr)] String bstrName);

        [DispId(2)]
        void GetItems([In, MarshalAs(UnmanagedType.BStr)] String bstrLocation,
            [Out, MarshalAs( UnmanagedType.SafeArray,
                      SafeArraySubType = VarEnum.VT_VARIANT )] out Object[] Items);

        [DispId(3)]
        void GetItemDescriptions([In] String bstrLocation,
            [In, Out, MarshalAs(UnmanagedType.SafeArray)] ref Object[] varDescriptions);

        bool IsEmpty
        {
            [DispId(4)]
            [return: MarshalAs(UnmanagedType.VariantBool)]
            get;
        }
    }
}

Keterangan

Digunakan dengan System.Runtime.InteropServices.MarshalAsAttribute untuk secara eksplisit mengontrol jenis elemen .SafeArray

Berlaku untuk

Produk Versi (Kedaluwarsa)
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9 (Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 2.0 (1.2, 1.3, 1.4, 1.5, 1.6, 2.1)
UWP (10.0)

Lihat juga