Freigeben über


Marshal.NumParamBytes-Methode

Berechnet die Anzahl der Bytes im nicht verwalteten Speicher, die zum Speichern der Parameter für die angegebene Methode erforderlich ist.

Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared Function NumParamBytes ( _
    m As MethodInfo _
) As Integer
'Usage
Dim m As MethodInfo
Dim returnValue As Integer

returnValue = Marshal.NumParamBytes(m)
public static int NumParamBytes (
    MethodInfo m
)
public:
static int NumParamBytes (
    MethodInfo^ m
)
public static int NumParamBytes (
    MethodInfo m
)
public static function NumParamBytes (
    m : MethodInfo
) : int

Parameter

  • m
    Eine MethodInfo, die die zu überprüfende Methode angibt.

Rückgabewert

Die Anzahl der Bytes, die erforderlich ist, um die Methodenparameter im nicht verwalteten Speicher darzustellen.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

Der m-Parameter ist NULL (Nothing in Visual Basic).

ArgumentException

Der m-Parameter ist kein MethodInfo-Objekt.

Hinweise

Die NumParamBytes-Methode gibt die Stapelgröße (in Bytes) zurück, die zur Darstellung der Parameter einer Methodensignatur in nicht verwaltetem Speicher erforderlich ist.

Beachten Sie, dass der Rückgabewert dieser Methode plattformabhängig ist. Eine Signatur mit einem einzelnen Ganzzahlparameter gibt beispielsweise auf einer 32-Bit-Plattform den Wert 4 und auf einer 64-Bit-Plattform den Wert 8 zurück.

Hinweis

Diese Methode verwendet SecurityAction.LinkDemand, um einen Aufruf aus nicht vertrauenswürdigem Code zu verhindern. Nur der direkte Aufrufer muss über die SecurityPermissionAttribute.UnmanagedCode-Berechtigung verfügen. Wenn der Code aus teilweise vertrauenswürdigem Code aufgerufen werden kann, dürfen Benutzereingaben nicht ohne Validierung an Methoden der Marshal-Klasse übergeben werden. Wichtige Einschränkungen bei der Verwendung des LinkDemand-Members finden Sie unter "Demand" und "LinkDemand".

.NET Framework-Sicherheit

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

Marshal-Klasse
Marshal-Member
System.Runtime.InteropServices-Namespace