VarEnum Enum
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Let op
Marshalling VARIANTs may be unavailable in future releases.
Geeft aan hoe u de matrixelementen kunt marshalen wanneer een matrix wordt marshaled van beheerd naar onbeheerde code als een SafeArray.
public enum class VarEnum
[System.Obsolete("Marshalling VARIANTs may be unavailable in future releases.")]
public enum VarEnum
[System.Serializable]
public enum VarEnum
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum VarEnum
public enum VarEnum
[<System.Obsolete("Marshalling VARIANTs may be unavailable in future releases.")>]
type VarEnum =
[<System.Serializable>]
type VarEnum =
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type VarEnum =
type VarEnum =
Public Enum VarEnum
- Overname
- Kenmerken
Velden
| Name | Waarde | Description |
|---|---|---|
| VT_EMPTY | 0 | Geeft aan dat er geen waarde is opgegeven. |
| VT_NULL | 1 | Geeft een null-waarde aan, vergelijkbaar met een null-waarde in SQL. |
| VT_I2 | 2 | Geeft een |
| VT_I4 | 3 | Geeft een |
| VT_R4 | 4 | Geeft een |
| VT_R8 | 5 | Geeft een |
| VT_CY | 6 | Geeft een valutawaarde aan. |
| VT_DATE | 7 | Geeft een DATUM-waarde aan. |
| VT_BSTR | 8 | Geeft een BSTR-tekenreeks aan. |
| VT_DISPATCH | 9 | Geeft een |
| VT_ERROR | 10 | Geeft een SCODE aan. |
| VT_BOOL | 11 | Geeft een Booleaanse waarde aan. |
| VT_VARIANT | 12 | Geeft een VARIANT-aanwijzer |
| VT_UNKNOWN | 13 | Geeft een |
| VT_DECIMAL | 14 | Geeft een |
| VT_I1 | 16 | Geeft een |
| VT_UI1 | 17 | Geeft een |
| VT_UI2 | 18 | Geeft een |
| VT_UI4 | 19 | Geeft een |
| VT_I8 | 20 | Geeft een 64-bits geheel getal aan. |
| VT_UI8 | 21 | Geeft een 64-bits geheel getal zonder teken aan. |
| VT_INT | 22 | Geeft een geheel getal aan. |
| VT_UINT | 23 | Geeft een |
| VT_VOID | 24 | Geeft een C-stijl |
| VT_HRESULT | 25 | Geeft een HRESULT aan. |
| VT_PTR | 26 | Geeft een aanwijzertype aan. |
| VT_SAFEARRAY | 27 | Geeft een SAFEARRAY aan. Ongeldig in een VARIANT. |
| VT_CARRAY | 28 | Geeft een C-stijlmatrix aan. |
| VT_USERDEFINED | 29 | Geeft een door de gebruiker gedefinieerd type aan. |
| VT_LPSTR | 30 | Hiermee wordt een tekenreeks met null-beëindiging aangegeven. |
| VT_LPWSTR | 31 | Geeft een brede tekenreeks aan die is beëindigd door |
| VT_RECORD | 36 | Geeft een door de gebruiker gedefinieerd type aan. |
| VT_FILETIME | 64 | Geeft een FILETIME-waarde aan. |
| VT_BLOB | 65 | Geeft de lengte voorgevoegde bytes aan. |
| VT_STREAM | 66 | Geeft aan dat de naam van een stream volgt. |
| VT_STORAGE | 67 | Geeft aan dat de naam van een opslag volgt. |
| VT_STREAMED_OBJECT | 68 | Geeft aan dat een stroom een object bevat. |
| VT_STORED_OBJECT | 69 | Geeft aan dat een opslag een object bevat. |
| VT_BLOB_OBJECT | 70 | Geeft aan dat een blob een object bevat. |
| VT_CF | 71 | Geeft de indeling van het Klembord aan. |
| VT_CLSID | 72 | Geeft een klasse-id aan. |
| VT_VECTOR | 4096 | Geeft een eenvoudige, getelde matrix aan. |
| VT_ARRAY | 8192 | Geeft een |
| VT_BYREF | 16384 | Geeft aan dat een waarde een verwijzing is. |
Voorbeelden
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
Opmerkingen
System.Runtime.InteropServices.MarshalAsAttribute Wordt gebruikt om expliciet het elementtype van de SafeArray.