Tipi di dati di platform invoke

Nella tabella seguente sono elencati i tipi di dati utilizzati nell'API Win32, elencati in Wtypes.h, e nelle funzioni di tipo C. Molte librerie non gestite contengono funzioni che passano questi tipi di dati come parametri e valori restituiti. Nella terza colonna viene indicato il tipo di valore o la classe incorporata corrispondente di .NET Framework che si utilizza nel codice gestito. In alcuni casi, è possibile sostituire il tipo elencato nella tabella con un tipo delle stesse dimensioni.

Tipo non gestito in Wtypes.h

Tipo non gestito del linguaggio C

Nome della classe gestita

Descrizione

HANDLE

void*

System.IntPtr

32 bit sui sistemi operativi Windows a 32 bit, 64 bit sui sistemi operativi Windows a 64 bit.

BYTE

unsigned char

System.Byte

8 bit

SHORT

short

System.Int16

16 bit

WORD

unsigned short

System.UInt16

16 bit

INT

int

System.Int32

32 bit

UINT

unsigned int

System.UInt32

32 bit

LONG

long

System.Int32

32 bit

BOOL

long

System.Int32

32 bit

DWORD

unsigned long

System.UInt32

32 bit

ULONG

unsigned long

System.UInt32

32 bit

CHAR

char

System.Char

Decorare con ANSI.

WCHAR

wchar_t

System.Char

Decorare con Unicode.

LPSTR

char*

System.String oppure System.Text.StringBuilder

Decorare con ANSI.

LPCSTR

Const char*

System.String oppure System.Text.StringBuilder

Decorare con ANSI.

LPWSTR

wchar_t*

System.String oppure System.Text.StringBuilder

Decorare con Unicode.

LPCWSTR

Const wchar_t*

System.String oppure System.Text.StringBuilder

Decorare con Unicode.

FLOAT

Float

System.Single

32 bit

DOUBLE

Double

System.Double

64 bit

Per i tipi corrispondenti in Visual Basic 2005, C# e C++, vedere Introduzione alla libreria di classi .NET Framework.

Vedere anche

Concetti

Marshalling di stringhe

Marshalling di classi, strutture e unioni

Marshalling di matrici di tipi

Esempi vari di marshalling

Altre risorse

Marshalling dei dati con platform invoke