Aracılığıyla paylaş


VarEnum Sabit listesi

Tanım

Dikkat

Marshalling VARIANTs may be unavailable in future releases.

Bir dizi yönetilen koddan yönetilmeyen koda SafeArraydoğru sıralandığında dizi öğelerinin nasıl sıralanileceğini gösterir.

public enum class VarEnum
[System.Obsolete("Marshalling VARIANTs may be unavailable in future releases.")]
public enum VarEnum
public enum VarEnum
[System.Serializable]
public enum VarEnum
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum VarEnum
[<System.Obsolete("Marshalling VARIANTs may be unavailable in future releases.")>]
type VarEnum = 
type VarEnum = 
[<System.Serializable>]
type VarEnum = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type VarEnum = 
Public Enum VarEnum
Devralma
Öznitelikler

Alanlar

VT_ARRAY 8192

İşaretçiyi SAFEARRAY gösterir.

VT_BLOB 65

Uzunluk ön ekli baytları gösterir.

VT_BLOB_OBJECT 70

Blob'un bir nesne içerdiğini gösterir.

VT_BOOL 11

Boole değerini gösterir.

VT_BSTR 8

BSTR dizesini gösterir.

VT_BYREF 16384

Değerin bir başvuru olduğunu gösterir.

VT_CARRAY 28

Bir C stili diziyi gösterir.

VT_CF 71

Pano biçimini gösterir.

VT_CLSID 72

Sınıf kimliğini gösterir.

VT_CY 6

Para birimi değerini gösterir.

VT_DATE 7

TARİh değerini gösterir.

VT_DECIMAL 14

Bir decimal değeri gösterir.

VT_DISPATCH 9

İşaretçiyi IDispatch gösterir.

VT_EMPTY 0

Bir değerin belirtilmediğini gösterir.

VT_ERROR 10

Bir SCODE gösterir.

VT_FILETIME 64

FILETIME değerini gösterir.

VT_HRESULT 25

HRESULT'yi gösterir.

VT_I1 16

Bir char değeri gösterir.

VT_I2 2

Tamsayıyı short gösterir.

VT_I4 3

Tamsayıyı long gösterir.

VT_I8 20

64 bitlik bir tamsayı gösterir.

VT_INT 22

Bir tamsayı değerini gösterir.

VT_LPSTR 30

Null olarak sonlandırılan dizeyi gösterir.

VT_LPWSTR 31

tarafından nullsonlandırılan geniş bir dizeyi gösterir.

VT_NULL 1

SQL'deki null değere benzer bir null değeri gösterir.

VT_PTR 26

İşaretçi türünü gösterir.

VT_R4 4

Bir float değeri gösterir.

VT_R8 5

Bir double değeri gösterir.

VT_RECORD 36

Kullanıcı tanımlı bir türü gösterir.

VT_SAFEARRAY 27

SAFEARRAY'i gösterir. VARIANT içinde geçerli değil.

VT_STORAGE 67

Bir depolama alanının adının takip ettiğini gösterir.

VT_STORED_OBJECT 69

Depolamanın bir nesnesi içerdiğini gösterir.

VT_STREAM 66

Bir akışın adının takip ettiğini gösterir.

VT_STREAMED_OBJECT 68

Akışın bir nesne içerdiğini gösterir.

VT_UI1 17

bir bytebelirtir.

VT_UI2 18

bir unsignedshortbelirtir.

VT_UI4 19

bir unsignedlongbelirtir.

VT_UI8 21

64 bit işaretsiz tamsayıyı gösterir.

VT_UINT 23

Bir unsigned tamsayı değerini gösterir.

VT_UNKNOWN 13

İşaretçiyi IUnknown gösterir.

VT_USERDEFINED 29

Kullanıcı tanımlı bir türü gösterir.

VT_VARIANT 12

VARIANT far işaretçisini gösterir.

VT_VECTOR 4096

Basit, sayılmış bir diziyi gösterir.

VT_VOID 24

C stilini voidgösterir.

Örnekler

using namespace System;
using namespace System::Runtime::InteropServices;

// 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")]
interface class IMyStorage
{
   [DispId(1)]
   Object^ GetItem( [In,MarshalAs(UnmanagedType::BStr)]String^ bstrName );

   //[return : MarshalAs(UnmanagedType::Interface)]

   [DispId(2)]
   void GetItems( [In,MarshalAs(UnmanagedType::BStr)]String^ bstrLocation, [Out,MarshalAs(UnmanagedType::SafeArray,
   SafeArraySubType=VarEnum::VT_VARIANT)]array<Object^>^Items );

   [DispId(3)]
   void GetItemDescriptions( [In]String^ bstrLocation, [In,Out,MarshalAs(UnmanagedType::SafeArray)]array<Object^>^varDescriptions );

   property bool IsEmpty 
   {
      [DispId(4)]
      [returnvalue:MarshalAs(UnmanagedType::VariantBool)]
      bool get();
   }
};
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;
        }
    }
}
Imports System.Runtime.InteropServices

Module 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)> _
        Function GetItem(<InAttribute(), MarshalAs(UnmanagedType.BStr)> ByVal bstrName As String) _
           As <MarshalAs(UnmanagedType.Interface)> Object

        <DispId(2)> _
        Function GetItems(<InAttribute(), MarshalAs(UnmanagedType.BStr)> ByVal bstrLocation As String, _
           <OutAttribute(), MarshalAs(UnmanagedType.SafeArray, SafeArraySubType := VarEnum.VT_VARIANT)> _
                                      ByVal Items() As Object)

        <DispId(3)> _
        Function GetItemDescriptions(<InAttribute()> ByVal bstrLocation As String, _
           <InAttribute(), OutAttribute(), _
                      MarshalAs(UnmanagedType.SafeArray)> ByRef varDescriptions() As Object)

        <DispId(4)> _
        ReadOnly Property IsEmpty(<MarshalAs(UnmanagedType.VariantBool)> ByVal bEmpty As Boolean)

    End Interface
End Module

Açıklamalar

öğesinin öğe türünü SafeArrayaçıkça denetlemek için ile System.Runtime.InteropServices.MarshalAsAttribute kullanılır.

Şunlara uygulanır

Ayrıca bkz.