VarEnum Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 |
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 |
VT_DISPATCH | 9 | İşaretçiyi |
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 |
VT_I2 | 2 | Tamsayıyı |
VT_I4 | 3 | Tamsayıyı |
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 |
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 |
VT_R8 | 5 | Bir |
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 |
VT_UI2 | 18 | bir |
VT_UI4 | 19 | bir |
VT_UI8 | 21 | 64 bit işaretsiz tamsayıyı gösterir. |
VT_UINT | 23 | Bir |
VT_UNKNOWN | 13 | İşaretçiyi |
VT_USERDEFINED | 29 | Kullanıcı tanımlı bir türü gösterir. |
VT_VARIANT | 12 | VARIANT |
VT_VECTOR | 4096 | Basit, sayılmış bir diziyi gösterir. |
VT_VOID | 24 | C stilini |
Ö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.