VarEnum Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Varning
Marshalling VARIANTs may be unavailable in future releases.
Anger hur du konverterar matriselementen när en matris konverteras från hanterad till ohanterad kod som en 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
- Arv
- Attribut
Fält
| Name | Värde | Description |
|---|---|---|
| VT_EMPTY | 0 | Anger att ett värde inte har angetts. |
| VT_NULL | 1 | Anger ett null-värde, ungefär som ett null-värde i SQL. |
| VT_I2 | 2 | Anger ett |
| VT_I4 | 3 | Anger ett |
| VT_R4 | 4 | Anger ett |
| VT_R8 | 5 | Anger ett |
| VT_CY | 6 | Anger ett valutavärde. |
| VT_DATE | 7 | Anger ett DATE-värde. |
| VT_BSTR | 8 | Anger en BSTR-sträng. |
| VT_DISPATCH | 9 | Anger en |
| VT_ERROR | 10 | Anger en SCODE. |
| VT_BOOL | 11 | Anger ett booleskt värde. |
| VT_VARIANT | 12 | Anger en VARIANT-pekare |
| VT_UNKNOWN | 13 | Anger en |
| VT_DECIMAL | 14 | Anger ett |
| VT_I1 | 16 | Anger ett |
| VT_UI1 | 17 | Anger en |
| VT_UI2 | 18 | Anger en |
| VT_UI4 | 19 | Anger en |
| VT_I8 | 20 | Anger ett 64-bitars heltal. |
| VT_UI8 | 21 | Anger ett 64-bitars osignerat heltal. |
| VT_INT | 22 | Anger ett heltalsvärde. |
| VT_UINT | 23 | Anger ett |
| VT_VOID | 24 | Anger ett C-format |
| VT_HRESULT | 25 | Anger en HRESULT. |
| VT_PTR | 26 | Anger en pekartyp. |
| VT_SAFEARRAY | 27 | Anger en SAFEARRAY. Ogiltigt i en VARIANT. |
| VT_CARRAY | 28 | Anger en C-formatmatris. |
| VT_USERDEFINED | 29 | Anger en användardefinierad typ. |
| VT_LPSTR | 30 | Anger en null-avslutad sträng. |
| VT_LPWSTR | 31 | Anger en bred sträng som avslutas av |
| VT_RECORD | 36 | Anger en användardefinierad typ. |
| VT_FILETIME | 64 | Anger ett FILETIME-värde. |
| VT_BLOB | 65 | Anger längdprefix för byte. |
| VT_STREAM | 66 | Anger att namnet på en ström följer. |
| VT_STORAGE | 67 | Anger att namnet på en lagring följer. |
| VT_STREAMED_OBJECT | 68 | Anger att en ström innehåller ett objekt. |
| VT_STORED_OBJECT | 69 | Anger att en lagring innehåller ett objekt. |
| VT_BLOB_OBJECT | 70 | Anger att en blob innehåller ett objekt. |
| VT_CF | 71 | Anger Urklippsformatet. |
| VT_CLSID | 72 | Anger ett klass-ID. |
| VT_VECTOR | 4096 | Anger en enkel, räknad matris. |
| VT_ARRAY | 8192 | Anger en |
| VT_BYREF | 16384 | Anger att ett värde är en referens. |
Exempel
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
Kommentarer
Används med System.Runtime.InteropServices.MarshalAsAttribute för att uttryckligen styra elementtypen för SafeArray.