Marshal Sınıf

Tanım

Yönetilmeyen bellek ayırma, yönetilmeyen bellek bloklarını kopyalama ve yönetilmeyen türlere dönüştürme yöntemlerinin yanı sıra yönetilmeyen kodla etkileşim kurarken kullanılan diğer çeşitli yöntemlerin bir koleksiyonunu sağlar.

public ref class Marshal abstract sealed
public ref class Marshal sealed
public static class Marshal
public sealed class Marshal
type Marshal = class
Public Class Marshal
Public NotInheritable Class Marshal
Devralma
Marshal

Örnekler

Aşağıdaki örnekte, sınıfı tarafından tanımlanan çeşitli yöntemlerin nasıl kullanılacağı gösterilmektedir Marshal .

using namespace System;
using namespace System::Runtime::InteropServices;

public value struct Point
{
public:
    property int X;
    property int Y;
};
extern bool CloseHandle(IntPtr h);

int main()
{
    // Demonstrate the use of public static fields of the Marshal
    // class.
    Console::WriteLine(
        "SystemDefaultCharSize={0},SystemMaxDBCSCharSize={1}",
        Marshal::SystemDefaultCharSize,
        Marshal::SystemMaxDBCSCharSize);

    // Demonstrate the use of the SizeOf method of the Marshal
    // class.
    Console::WriteLine("Number of bytes needed by a Point object: {0}",
        Marshal::SizeOf(Point::typeid));
    Point point;
    Console::WriteLine("Number of bytes needed by a Point object: {0}",
        Marshal::SizeOf(point));

    // Demonstrate how to call GlobalAlloc and 
    // GlobalFree using the Marshal class.
    IntPtr hglobal = Marshal::AllocHGlobal(100);
    Marshal::FreeHGlobal(hglobal);

    // Demonstrate how to use the Marshal class to get the Win32
    // error code when a Win32 method fails.
    bool isCloseHandleSuccess = CloseHandle(IntPtr(-1));
    if (!isCloseHandleSuccess)
    {
        Console::WriteLine(
            "CloseHandle call failed with an error code of: {0}",
            Marshal::GetLastWin32Error());
    }
};

// This is a platform invoke prototype. SetLastError is true,
// which allows the GetLastWin32Error method of the Marshal class
// to work correctly.    
[DllImport("Kernel32", ExactSpelling = true, SetLastError = true)]
extern bool CloseHandle(IntPtr h);

// This code produces the following output.
// 
// SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
// Number of bytes needed by a Point object: 8
// Number of bytes needed by a Point object: 8
// CloseHandle call failed with an error code of: 6
using System;
using System.Text;
using System.Runtime.InteropServices;

public struct Point
{
    public Int32 x, y;
}

public sealed class App
{
    static void Main()
    {
        // Demonstrate the use of public static fields of the Marshal class.
        Console.WriteLine("SystemDefaultCharSize={0}, SystemMaxDBCSCharSize={1}",
            Marshal.SystemDefaultCharSize, Marshal.SystemMaxDBCSCharSize);

        // Demonstrate the use of the SizeOf method of the Marshal class.
        Console.WriteLine("Number of bytes needed by a Point object: {0}",
            Marshal.SizeOf(typeof(Point)));
        Point p = new Point();
        Console.WriteLine("Number of bytes needed by a Point object: {0}",
            Marshal.SizeOf(p));

        // Demonstrate how to call GlobalAlloc and
        // GlobalFree using the Marshal class.
        IntPtr hglobal = Marshal.AllocHGlobal(100);
        Marshal.FreeHGlobal(hglobal);

        // Demonstrate how to use the Marshal class to get the Win32 error
        // code when a Win32 method fails.
        Boolean f = CloseHandle(new IntPtr(-1));
        if (!f)
        {
            Console.WriteLine("CloseHandle call failed with an error code of: {0}",
                Marshal.GetLastWin32Error());
        }
    }

    // This is a platform invoke prototype. SetLastError is true, which allows
    // the GetLastWin32Error method of the Marshal class to work correctly.
    [DllImport("Kernel32", ExactSpelling = true, SetLastError = true)]
    static extern Boolean CloseHandle(IntPtr h);
}

// This code produces the following output.
//
// SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
// Number of bytes needed by a Point object: 8
// Number of bytes needed by a Point object: 8
// CloseHandle call failed with an error code of: 6
Imports System.Text
Imports System.Runtime.InteropServices
Imports System.Security.Permissions



Public Structure Point
    Public x, y As Int32
End Structure



Public NotInheritable Class App

    <SecurityPermission(SecurityAction.LinkDemand, Unrestricted:=True)> _
    Shared Sub Main()
        ' Demonstrate the use of public static fields of the Marshal class.
        Console.WriteLine("SystemDefaultCharSize={0}, SystemMaxDBCSCharSize={1}", Marshal.SystemDefaultCharSize, Marshal.SystemMaxDBCSCharSize)
        ' Demonstrate the use of the SizeOf method of the Marshal class.
        Console.WriteLine("Number of bytes needed by a Point object: {0}", Marshal.SizeOf(GetType(Point)))
        Dim p As New Point()
        Console.WriteLine("Number of bytes needed by a Point object: {0}", Marshal.SizeOf(p))
        ' Demonstrate how to call GlobalAlloc and 
        ' GlobalFree using the Marshal class.
        Dim hglobal As IntPtr = Marshal.AllocHGlobal(100)
        Marshal.FreeHGlobal(hglobal)
        ' Demonstrate how to use the Marshal class to get the Win32 error 
        ' code when a Win32 method fails.
        Dim f As [Boolean] = CloseHandle(New IntPtr(-1))
        If Not f Then
            Console.WriteLine("CloseHandle call failed with an error code of: {0}", Marshal.GetLastWin32Error())
        End If

    End Sub


    ' This is a platform invoke prototype. SetLastError is true, which allows 
    ' the GetLastWin32Error method of the Marshal class to work correctly.    
    <DllImport("Kernel32", ExactSpelling:=True, SetLastError:=True)> _
    Shared Function CloseHandle(ByVal h As IntPtr) As [Boolean]

    End Function
End Class


' This code produces the following output.
' 
' SystemDefaultCharSize=2, SystemMaxDBCSCharSize=1
' Number of bytes needed by a Point object: 8
' Number of bytes needed by a Point object: 8
' CloseHandle call failed with an error code of: 6

Açıklamalar

static sınıfında tanımlanan Marshal yöntemler yönetilmeyen kodla çalışmak için gereklidir. Bu sınıfta tanımlanan yöntemlerin çoğu genellikle yönetilen ve yönetilmeyen programlama modelleri arasında bir köprü sağlamak isteyen geliştiriciler tarafından kullanılır. Örneğin, StringToHGlobalAnsi yöntemi belirtilen dizedeki (yönetilen yığındaki) ANSI karakterlerini yönetilmeyen yığındaki bir arabelleğe kopyalar. Ayrıca doğru boyuttaki hedef yığını ayırır.

Ortak dil çalışma zamanı belirli hazırlama özellikleri sağlar. Hazırlama davranışıyla ilgili ayrıntılar için bkz. Birlikte Çalışma Hazırlama.

Read sınıfındaki Marshal ve Write yöntemleri hem hizalanmış hem de hizalanmamış erişimi destekler.

Alanlar

SystemDefaultCharSize

Sistemdeki varsayılan karakter boyutunu temsil eder; Unicode sistemleri için varsayılan değer 2 ve ANSI sistemleri için 1'dir. Bu alan salt okunur durumdadır.

SystemMaxDBCSCharSize

Geçerli işletim sistemi için bayt cinsinden bir çift bayt karakter kümesi (DBCS) boyutunun en büyük boyutunu temsil eder. Bu alan salt okunur durumdadır.

Yöntemler

AddRef(IntPtr)

Belirtilen arabirimdeki başvuru sayısını artırır.

AllocCoTaskMem(Int32)

COM görev belleği ayırıcısından belirtilen boyutta bir bellek bloğu ayırır.

AllocHGlobal(Int32)

Belirtilen bayt sayısını kullanarak işlemin yönetilmeyen belleğinden bellek ayırır.

AllocHGlobal(IntPtr)

belirtilen bayt sayısına işaretçisini kullanarak işlemin yönetilmeyen belleğinden bellek ayırır.

AreComObjectsAvailableForCleanup()

Herhangi bir bağlamdan çalışma zamanı çağrılabilen sarmalayıcıların (RCW) temizleme için kullanılabilir olup olmadığını gösterir.

BindToMoniker(String)

Belirtilen bilinen ad tarafından tanımlanan bir arabirim işaretçisini alır.

ChangeWrapperHandleStrength(Object, Boolean)

Nesnenin COM Çağrılabilen Sarmalayıcı (CCW) tutamacının gücünü değiştirir.

CleanupUnusedObjectsInCurrentContext()

Geçerli bağlamda ayrılan tüm Çalışma Zamanı Çağrılabilen Sarmalayıcıları (RCW) temizlemek için çalışma zamanını bildirir.

Copy(Byte[], Int32, IntPtr, Int32)

Tek boyutlu, yönetilen 8 bit imzasız tamsayı dizisinden yönetilmeyen bir bellek işaretçisine veri kopyalar.

Copy(Char[], Int32, IntPtr, Int32)

Tek boyutlu, yönetilen karakter dizisinden yönetilmeyen bir bellek işaretçisine veri kopyalar.

Copy(Double[], Int32, IntPtr, Int32)

Tek boyutlu, yönetilen çift duyarlıklı kayan noktalı sayı dizisinden yönetilmeyen bir bellek işaretçisine veri kopyalar.

Copy(Int16[], Int32, IntPtr, Int32)

Tek boyutlu, yönetilen 16 bit imzalı bir tamsayı dizisinden yönetilmeyen bir bellek işaretçisine veri kopyalar.

Copy(Int32[], Int32, IntPtr, Int32)

Verileri tek boyutlu, yönetilen 32 bit imzalı bir tamsayı dizisinden yönetilmeyen bir bellek işaretçisine kopyalar.

Copy(Int64[], Int32, IntPtr, Int32)

Tek boyutlu, yönetilen 64 bit imzalı bir tamsayı dizisinden yönetilmeyen bir bellek işaretçisine veri kopyalar.

Copy(IntPtr, Byte[], Int32, Int32)

Yönetilmeyen bir bellek işaretçisinden yönetilen 8 bit imzasız tamsayı dizisine veri kopyalar.

Copy(IntPtr, Char[], Int32, Int32)

Yönetilmeyen bir bellek işaretçisinden yönetilen karakter dizisine veri kopyalar.

Copy(IntPtr, Double[], Int32, Int32)

Yönetilmeyen bir bellek işaretçisinden yönetilen çift duyarlıklı kayan noktalı sayı dizisine veri kopyalar.

Copy(IntPtr, Int16[], Int32, Int32)

Yönetilmeyen bir bellek işaretçisinden yönetilen 16 bit imzalı tamsayı dizisine veri kopyalar.

Copy(IntPtr, Int32[], Int32, Int32)

Yönetilmeyen bir bellek işaretçisinden yönetilen 32 bit imzalı tamsayı dizisine veri kopyalar.

Copy(IntPtr, Int64[], Int32, Int32)

Yönetilmeyen bir bellek işaretçisinden yönetilen 64 bit imzalı tamsayı dizisine veri kopyalar.

Copy(IntPtr, IntPtr[], Int32, Int32)

Yönetilmeyen bir bellek işaretçisinden yönetilen IntPtr bir diziye veri kopyalar.

Copy(IntPtr, Single[], Int32, Int32)

Yönetilmeyen bir bellek işaretçisinden yönetilen tek duyarlıklı kayan noktalı sayı dizisine veri kopyalar.

Copy(IntPtr[], Int32, IntPtr, Int32)

Tek boyutlu, yönetilen IntPtr bir diziden yönetilmeyen bir bellek işaretçisine veri kopyalar.

Copy(Single[], Int32, IntPtr, Int32)

Tek boyutlu, yönetilen tek duyarlıklı kayan noktalı sayı dizisinden yönetilmeyen bir bellek işaretçisine veri kopyalar.

CreateAggregatedObject(IntPtr, Object)
Geçersiz.

Belirtilen COM nesnesiyle yönetilen bir nesneyi toplar.

CreateAggregatedObject<T>(IntPtr, T)

Belirtilen türdeki yönetilen bir nesneyi belirtilen COM nesnesiyle toplar.

CreateWrapperOfType(Object, Type)
Geçersiz.

Belirtilen COM nesnesini belirtilen türde bir nesneye sarmalar.

CreateWrapperOfType<T,TWrapper>(T)

Belirtilen COM nesnesini belirtilen türde bir nesneye sarmalar.

DestroyStructure(IntPtr, Type)
Geçersiz.

Belirtilen yönetilmeyen bellek bloğunun işaret verdiği tüm alt yapıları serbest bırakır.

DestroyStructure<T>(IntPtr)

Belirtilen yönetilmeyen bellek bloğunun işaret verdiği belirtilen türdeki tüm alt yapıları serbest bırakır.

FinalReleaseComObject(Object)

Başvuru sayısını 0 olarak ayarlayarak bir Çalışma Zamanı Çağrılabilen Sarmalayıcıya (RCW) tüm başvuruları serbest bırakır.

FreeBSTR(IntPtr)

COM SysFreeString işlevini kullanarak bir BSTR serbesttir.

FreeCoTaskMem(IntPtr)

Yönetilmeyen COM görevi bellek ayırıcısı tarafından ayrılan bir bellek bloğunu serbest bırakır.

FreeHGlobal(IntPtr)

Daha önce işlemin yönetilmeyen belleğinden ayrılan belleği serbest bırakır.

GenerateGuidForType(Type)

Belirtilen tür için genel olarak benzersiz tanımlayıcıyı (GUID) döndürür veya Tür Kitaplığı Verme (Tlbexp.exe) tarafından kullanılan algoritmayı kullanarak bir GUID oluşturur.

GenerateProgIdForType(Type)

Belirtilen tür için programlı tanımlayıcı (ProgID) döndürür.

GetActiveObject(String)

Çalışan nesne tablosundan (ROT) belirtilen nesnenin çalışan bir örneğini alır.

GetComInterfaceForObject(Object, Type)
Geçersiz.

Belirtilen nesnede belirtilen arabirimi temsil eden IUnknown arabirimine bir işaretçi döndürür. Özel sorgu arabirimi erişimi varsayılan olarak etkindir.

GetComInterfaceForObject(Object, Type, CustomQueryInterfaceMode)
Geçersiz.

Belirtilen nesnede belirtilen arabirimi temsil eden IUnknown arabirimine bir işaretçi döndürür. Özel sorgu arabirimi erişimi belirtilen özelleştirme modu tarafından denetlendi.

GetComInterfaceForObject<T,TInterface>(T)

Belirtilen türdeki bir nesnede belirtilen arabirimi temsil eden IUnknown arabirimine bir işaretçi döndürür. Özel sorgu arabirimi erişimi varsayılan olarak etkindir.

GetComInterfaceForObjectInContext(Object, Type)

Çağıran nesneyle aynı bağlamdaysa, bir nesne için belirtilen arabirimi temsil eden bir arabirim işaretçisi döndürür.

GetComObjectData(Object, Object)

Belirtilen anahtar tarafından belirtilen COM nesnesinden başvuruda bulunan verileri alır.

GetComSlotForMethodInfo(MemberInfo)

Bu tür COM'a sunulduğunda belirtilen MemberInfo tür için sanal işlev tablosu (v-tablo veya VTBL) yuvasını alır.

GetDelegateForFunctionPointer(IntPtr, Type)
Geçersiz.

Yönetilmeyen işlev işaretçisini temsilciye dönüştürür.

GetDelegateForFunctionPointer<TDelegate>(IntPtr)

Yönetilmeyen işlev işaretçisini belirtilen türde bir temsilciye dönüştürür.

GetEndComSlot(Type)

COM'a sunulduğunda bir türün sanal işlev tablosundaki (v-table veya VTBL) son yuvayı alır.

GetExceptionCode()
Geçersiz.

Oluşan özel durumun türünü tanımlayan bir kodu alır.

GetExceptionForHR(Int32)

Belirtilen HRESULT hata kodunu ilgili Exception bir nesneye dönüştürür.

GetExceptionForHR(Int32, IntPtr)

Belirtilen HRESULT hata kodunu, özel durum nesnesi için bir IErrorInfo arabiriminde geçirilen ek hata bilgileriyle karşılık gelen Exception bir nesneye dönüştürür.

GetExceptionPointers()

Bir özel durumun bilgisayardan bağımsız açıklamasını ve özel durum oluştuğunda iş parçacığı için var olan durum hakkındaki bilgileri alır.

GetFunctionPointerForDelegate(Delegate)
Geçersiz.

Bir temsilciyi yönetilmeyen koddan çağrılabilen bir işlev işaretçisine dönüştürür.

GetFunctionPointerForDelegate<TDelegate>(TDelegate)

Belirtilen türde bir temsilciyi yönetilmeyen koddan çağrılabilen bir işlev işaretçisine dönüştürür.

GetHINSTANCE(Module)

Belirtilen modül için örnek tanıtıcısını (HINSTANCE) döndürür.

GetHRForException(Exception)

Belirtilen özel durumu HRESULT'a dönüştürür.

GetHRForLastWin32Error()

kullanılarak Marshalyürütülen Win32 kodu tarafından tahakkuk eden son hataya karşılık gelen HRESULT değerini döndürür.

GetIDispatchForObject(Object)

Yönetilen nesneden bir IDispatch arabirimi döndürür.

GetIDispatchForObjectInContext(Object)

Çağıran bu nesneyle aynı bağlamdaysa, yönetilen nesneden bir IDispatch arabirim işaretçisi döndürür.

GetITypeInfoForType(Type)

Yönetilen türden bir ITypeInfo arabirim döndürür.

GetIUnknownForObject(Object)

Yönetilen nesneden bir IUnknown arabirimi döndürür.

GetIUnknownForObjectInContext(Object)

Çağıran bu nesneyle aynı bağlamdaysa, yönetilen nesneden bir IUnknown arabirimi döndürür.

GetLastPInvokeError()

Geçerli iş parçacığında son platform çağırma hatasını alın.

GetLastPInvokeErrorMessage()

Son PInvoke hata kodu için sistem hata iletisini alır.

GetLastSystemError()

Geçerli iş parçacığındaki son sistem hatasını alır.

GetLastWin32Error()

Bayrağı ayarlanmış platform çağrısı SetLastError kullanılarak çağrılan son yönetilmeyen işlev tarafından döndürülen hata kodunu döndürür.

GetManagedThunkForUnmanagedMethodPtr(IntPtr, IntPtr, Int32)
Geçersiz.

Yönetilen koddan yönetilmeyen koda çağrıyı sıralayan çalışma zamanı tarafından oluşturulan bir işleve yönelik bir işaretçi alır.

GetMethodInfoForComSlot(Type, Int32, ComMemberType)

Belirtilen sanal işlev tablosu (v-table veya VTBL) yuvası için bir MemberInfo nesne alır.

GetNativeVariantForObject(Object, IntPtr)
Geçersiz.

Bir nesneyi COM VARIANT'a dönüştürür.

GetNativeVariantForObject<T>(T, IntPtr)
Geçersiz.

Belirtilen türde bir nesneyi COM VARIANT'a dönüştürür.

GetObjectForIUnknown(IntPtr)

BIR COM nesnesini IUnknown arabirimine işaretçiyle temsil eden bir tür örneği döndürür.

GetObjectForNativeVariant(IntPtr)
Geçersiz.

COM VARIANT'ı bir nesneye dönüştürür.

GetObjectForNativeVariant<T>(IntPtr)
Geçersiz.

COM VARIANT değerini belirtilen türde bir nesneye dönüştürür.

GetObjectsForNativeVariants(IntPtr, Int32)
Geçersiz.

COM VARIANT dizisini bir nesne dizisine dönüştürür.

GetObjectsForNativeVariants<T>(IntPtr, Int32)
Geçersiz.

BIR COM VARIANTs dizisini belirtilen türde bir diziye dönüştürür.

GetPInvokeErrorMessage(Int32)

Sağlanan hata kodu için sistem hata iletisini alır.

GetStartComSlot(Type)

Kullanıcı tanımlı yöntemleri içeren sanal işlev tablosundaki (v-tablo veya VTBL) ilk yuvayı alır.

GetThreadFromFiberCookie(Int32)
Geçersiz.

Fiber tanımlama bilgisini ilgili Thread örneğe dönüştürür.

GetTypedObjectForIUnknown(IntPtr, Type)

COM nesnesini temsil eden belirtilen türde yönetilen bir nesne döndürür.

GetTypeForITypeInfo(IntPtr)

Yönetilmeyen bir ITypeInfo nesnesini yönetilen Type bir nesneye dönüştürür.

GetTypeFromCLSID(Guid)

Belirtilen sınıf tanımlayıcısıyla (CLSID) ilişkili türü döndürür.

GetTypeInfoName(ITypeInfo)

ITypeInfo nesnesi tarafından temsil edilen türün adını alır.

GetTypeInfoName(UCOMITypeInfo)
Geçersiz.

ITypeInfo nesnesi tarafından temsil edilen türün adını alır.

GetTypeLibGuid(ITypeLib)

Tür kitaplığının kitaplık tanımlayıcısını (LIBID) alır.

GetTypeLibGuid(UCOMITypeLib)
Geçersiz.

Tür kitaplığının kitaplık tanımlayıcısını (LIBID) alır.

GetTypeLibGuidForAssembly(Assembly)

Belirtilen derlemeden dışarı aktarıldığında tür kitaplığına atanan kitaplık tanımlayıcısını (LIBID) alır.

GetTypeLibLcid(ITypeLib)

Bir tür kitaplığının LCID'sini alır.

GetTypeLibLcid(UCOMITypeLib)
Geçersiz.

Bir tür kitaplığının LCID'sini alır.

GetTypeLibName(ITypeLib)

Tür kitaplığının adını alır.

GetTypeLibName(UCOMITypeLib)
Geçersiz.

Tür kitaplığının adını alır.

GetTypeLibVersionForAssembly(Assembly, Int32, Int32)

Belirtilen derlemeden dışarı aktarılacak tür kitaplığının sürüm numarasını alır.

GetUniqueObjectForIUnknown(IntPtr)

Belirli bir IUnknown arabirimi için benzersiz bir Çalışma Zamanı Çağrılabilen Sarmalayıcı (RCW) nesnesi oluşturur.

GetUnmanagedThunkForManagedMethodPtr(IntPtr, IntPtr, Int32)
Geçersiz.

Yönetilmeyen koddan yönetilen koda çağrıyı sıralayan çalışma zamanı tarafından oluşturulan bir işleve yönelik bir işaretçi alır.

InitHandle(SafeHandle, IntPtr)

Sağlanan değere yeni oluşturulan SafeHandle bir temel tanıtıcıyı başlatır.

IsComObject(Object)

Belirtilen nesnenin bir COM nesnesini temsil edip etmediğini gösterir.

IsTypeVisibleFromCom(Type)

Bir türün COM istemcileri için görünür olup olmadığını gösterir.

NumParamBytes(MethodInfo)

Belirtilen yöntemin parametrelerini tutmak için gereken yönetilmeyen bellekteki bayt sayısını hesaplar.

OffsetOf(Type, String)
Geçersiz.

Yönetilen sınıfın yönetilmeyen formunun alan uzaklığını döndürür.

OffsetOf<T>(String)

Belirtilen yönetilen sınıfın yönetilmeyen formunun alan uzaklığını döndürür.

Prelink(MethodInfo)

Yöntemini çağırmadan tek seferlik yöntem kurulum görevlerini yürütür.

PrelinkAll(Type)

Bir sınıftaki tüm yöntemler için bir ön bağlantı denetimi gerçekleştirir.

PtrToStringAnsi(IntPtr)

Yönetilmeyen ANSI veya UTF-8 dizesinden ilk null karaktere kadar olan tüm karakterleri yönetilen Stringöğesine kopyalar ve her karakteri UTF-16'ya genişleter.

PtrToStringAnsi(IntPtr, Int32)

Yönetilen Stringbir ayırır, yönetilmeyen bir ANSI veya UTF-8 dizesinden belirtilen sayıda karakteri bu dizeye kopyalar ve her karakteri UTF-16'ya genişleter.

PtrToStringAuto(IntPtr)

Yönetilen String bir ayırır ve yönetilmeyen bellekte depolanan bir dizeden ilk null karaktere kadar olan tüm karakterleri bu karaktere kopyalar.

PtrToStringAuto(IntPtr, Int32)

Yönetilen String bir ayırır ve yönetilmeyen bellekte depolanan bir dizeden belirtilen sayıda karakteri bu dizeye kopyalar.

PtrToStringBSTR(IntPtr)

Yönetilen String bir dize ayırır ve yönetilmeyen bellekte depolanan bir ikili dizeyi (BSTR) bu dizeye kopyalar.

PtrToStringUni(IntPtr)

Yönetilen String bir karakter ayırır ve yönetilmeyen unicode dizedeki tüm karakterleri ilk null karaktere kopyalar.

PtrToStringUni(IntPtr, Int32)

Yönetilen String bir karakter ayırır ve yönetilmeyen unicode dizeden belirtilen sayıda karakteri bu dizeye kopyalar.

PtrToStringUTF8(IntPtr)

Yönetilen String bir ayırır ve yönetilmeyen bir UTF-8 dizesinden ilk null karaktere kadar olan tüm karakterleri bu dizeye kopyalar.

PtrToStringUTF8(IntPtr, Int32)

Yönetilen String bir ayırır ve yönetilmeyen bir UTF8 dizesinden belirtilen sayıda baytı bu dizeye kopyalar.

PtrToStructure(IntPtr, Object)
Geçersiz.

Yönetilmeyen bir bellek bloğundaki verileri yönetilen bir nesneye sıralar.

PtrToStructure(IntPtr, Type)
Geçersiz.

Yönetilmeyen bir bellek bloğundaki verileri, belirtilen türde yeni ayrılan yönetilen bir nesneye sıralar.

PtrToStructure<T>(IntPtr)

Yönetilmeyen bir bellek bloğundaki verileri, genel tür parametresi tarafından belirtilen türdeki yeni ayrılan yönetilen nesneye sıralar.

PtrToStructure<T>(IntPtr, T)

Yönetilmeyen bir bellek bloğundaki verileri belirtilen türde yönetilen bir nesneye sıralar.

QueryInterface(IntPtr, Guid, IntPtr)

BIR COM nesnesinden belirtilen arabirime yönelik bir işaretçi isteğinde bulunur.

ReadByte(IntPtr)

Yönetilmeyen bellekten tek bir bayt okur.

ReadByte(IntPtr, Int32)

Yönetilmeyen bellekten belirli bir uzaklıkta (veya dizinde) tek bir bayt okur.

ReadByte(Object, Int32)
Geçersiz.

Yönetilmeyen bellekten belirli bir uzaklıkta (veya dizinde) tek bir bayt okur.

ReadInt16(IntPtr)

Yönetilmeyen bellekten 16 bit imzalı bir tamsayı okur.

ReadInt16(IntPtr, Int32)

Yönetilmeyen bellekten belirli bir uzaklıkta 16 bit imzalı tamsayı okur.

ReadInt16(Object, Int32)
Geçersiz.

Yönetilmeyen bellekten belirli bir uzaklıkta 16 bit imzalı tamsayı okur.

ReadInt32(IntPtr)

Yönetilmeyen bellekten 32 bit imzalı bir tamsayı okur.

ReadInt32(IntPtr, Int32)

Yönetilmeyen bellekten belirli bir uzaklıkta 32 bit imzalı tamsayı okur.

ReadInt32(Object, Int32)
Geçersiz.

Yönetilmeyen bellekten belirli bir uzaklıkta 32 bit imzalı tamsayı okur.

ReadInt64(IntPtr)

Yönetilmeyen bellekten 64 bit imzalı bir tamsayı okur.

ReadInt64(IntPtr, Int32)

Yönetilmeyen bellekten belirli bir uzaklıkta 64 bit imzalı bir tamsayı okur.

ReadInt64(Object, Int32)
Geçersiz.

Yönetilmeyen bellekten belirli bir uzaklıkta 64 bit imzalı bir tamsayı okur.

ReadIntPtr(IntPtr)

Yönetilmeyen bellekten işlemcinin yerel boyutlu tamsayısını okur.

ReadIntPtr(IntPtr, Int32)

Yönetilmeyen bellekten belirli bir uzaklıkta işlemcinin yerel boyutlu tamsayısını okur.

ReadIntPtr(Object, Int32)
Geçersiz.

Yönetilmeyen bellekten işlemcinin yerel boyutlu tamsayısını okur.

ReAllocCoTaskMem(IntPtr, Int32)

Daha önce ile AllocCoTaskMem(Int32)ayrılmış bir bellek bloğunu yeniden boyutlandırıyor.

ReAllocHGlobal(IntPtr, IntPtr)

Daha önce ile AllocHGlobal(IntPtr)ayrılmış bir bellek bloğunu yeniden boyutlandırıyor.

Release(IntPtr)

Belirtilen arabirimdeki başvuru sayısını azaltma.

ReleaseComObject(Object)

Belirtilen COM nesnesiyle ilişkili Çalışma Zamanı Çağrılabilen Sarmalayıcı'nın (RCW) başvuru sayısını azaltma.

ReleaseThreadCache()
Geçersiz.

İş parçacığı önbelleğini serbest bırakır.

SecureStringToBSTR(SecureString)

Yönetilmeyen bir ikili dize (BSTR) ayırır ve yönetilen SecureString bir nesnenin içeriğini bu dizeye kopyalar.

SecureStringToCoTaskMemAnsi(SecureString)

Yönetilen SecureString bir nesnenin içeriğini yönetilmeyen COM görev ayırıcısından ayrılan bir bellek bloğuna kopyalar.

SecureStringToCoTaskMemUnicode(SecureString)

Yönetilen SecureString bir nesnenin içeriğini yönetilmeyen COM görev ayırıcısından ayrılan bir bellek bloğuna kopyalar.

SecureStringToGlobalAllocAnsi(SecureString)

Yönetilen SecureString bir belleğin içeriğini yönetilmeyen belleğe kopyalar ve kopyalanırken ANSI biçimine dönüştürür.

SecureStringToGlobalAllocUnicode(SecureString)

Yönetilen SecureString bir nesnenin içeriğini yönetilmeyen belleğe kopyalar.

SetComObjectData(Object, Object, Object)

Belirtilen COM nesnesinde belirtilen anahtar tarafından başvuruda bulunan verileri ayarlar.

SetLastPInvokeError(Int32)

Geçerli iş parçacığında son platform çağırma hatasını ayarlar.

SetLastSystemError(Int32)

Geçerli iş parçacığındaki son sistem hatasını ayarlar.

SizeOf(Object)
Geçersiz.

Bir nesnenin yönetilmeyen boyutunu bayt cinsinden döndürür.

SizeOf(Type)
Geçersiz.

Yönetilmeyen bir türün boyutunu bayt cinsinden döndürür.

SizeOf<T>()

Yönetilmeyen bir türün boyutunu bayt cinsinden döndürür.

SizeOf<T>(T)

Belirtilen türde bir nesnenin yönetilmeyen boyutunu bayt cinsinden döndürür.

StringToBSTR(String)

Bir BSTR ayırır ve yönetilen String bir dosyanın içeriğini buna kopyalar.

StringToCoTaskMemAnsi(String)

Yönetilen String bir öğenin içeriğini yönetilmeyen COM görev ayırıcısından ayrılan bir bellek bloğuna kopyalar.

StringToCoTaskMemAuto(String)

Yönetilen String bir öğenin içeriğini yönetilmeyen COM görev ayırıcısından ayrılan bir bellek bloğuna kopyalar.

StringToCoTaskMemUni(String)

Yönetilen String bir öğenin içeriğini yönetilmeyen COM görev ayırıcısından ayrılan bir bellek bloğuna kopyalar.

StringToCoTaskMemUTF8(String)

Yönetilen String bir öğenin içeriğini yönetilmeyen COM görev ayırıcısından ayrılan bir bellek bloğuna kopyalar.

StringToHGlobalAnsi(String)

Yönetilen String bir belleğin içeriğini yönetilmeyen belleğe kopyalar ve kopyalanırken ANSI biçimine dönüştürür.

StringToHGlobalAuto(String)

Yönetilen String bir bellek içeriğini yönetilmeyen belleğe kopyalar ve gerekirse ANSI biçimine dönüştürür.

StringToHGlobalUni(String)

Yönetilen String bir dosyanın içeriğini yönetilmeyen belleğe kopyalar.

StructureToPtr(Object, IntPtr, Boolean)
Geçersiz.

Yönetilen bir nesneden yönetilmeyen bir bellek bloğuna verileri sıralar.

StructureToPtr<T>(T, IntPtr, Boolean)

Belirtilen türde yönetilen bir nesneden yönetilmeyen bir bellek bloğuna verileri sıralar.

ThrowExceptionForHR(Int32)

Belirli bir hata HRESULT değeriyle bir özel durum oluşturur.

ThrowExceptionForHR(Int32, IntPtr)

Belirtilen IErrorInfo arabirimini temel alarak belirli bir hata HRESULT ile bir özel durum oluşturur.

UnsafeAddrOfPinnedArrayElement(Array, Int32)
Geçersiz.

Belirtilen dizinin içindeki belirtilen dizindeki öğesinin adresini alır.

UnsafeAddrOfPinnedArrayElement<T>(T[], Int32)

Belirtilen türdeki bir dizide belirtilen dizindeki öğesinin adresini alır.

WriteByte(IntPtr, Byte)

Yönetilmeyen belleğe tek bir bayt değeri yazar.

WriteByte(IntPtr, Int32, Byte)

Belirli bir uzaklıkta yönetilmeyen belleğe tek bir bayt değeri yazar.

WriteByte(Object, Int32, Byte)
Geçersiz.

Belirli bir uzaklıkta yönetilmeyen belleğe tek bir bayt değeri yazar.

WriteInt16(IntPtr, Char)

Yönetilmeyen belleğe bir karakteri 16 bit tamsayı değeri olarak yazar.

WriteInt16(IntPtr, Int16)

Yönetilmeyen belleğe 16 bit tamsayı değeri yazar.

WriteInt16(IntPtr, Int32, Char)

Belirli bir uzaklıkta yönetilmeyen belleğe 16 bit imzalı bir tamsayı değeri yazar.

WriteInt16(IntPtr, Int32, Int16)

Belirtilen uzaklıkta yönetilmeyen belleğe 16 bit imzalı bir tamsayı değeri yazar.

WriteInt16(Object, Int32, Char)
Geçersiz.

Belirli bir uzaklıkta yönetilmeyen belleğe 16 bit imzalı bir tamsayı değeri yazar.

WriteInt16(Object, Int32, Int16)
Geçersiz.

Belirli bir uzaklıkta yönetilmeyen belleğe 16 bit imzalı bir tamsayı değeri yazar.

WriteInt32(IntPtr, Int32)

Yönetilmeyen belleğe 32 bit imzalı bir tamsayı değeri yazar.

WriteInt32(IntPtr, Int32, Int32)

Belirtilen uzaklıkta yönetilmeyen belleğe 32 bit imzalı bir tamsayı değeri yazar.

WriteInt32(Object, Int32, Int32)
Geçersiz.

Belirtilen uzaklıkta yönetilmeyen belleğe 32 bit imzalı bir tamsayı değeri yazar.

WriteInt64(IntPtr, Int32, Int64)

Belirtilen uzaklıkta yönetilmeyen belleğe 64 bit imzalı bir tamsayı değeri yazar.

WriteInt64(IntPtr, Int64)

Yönetilmeyen belleğe 64 bit imzalı bir tamsayı değeri yazar.

WriteInt64(Object, Int32, Int64)
Geçersiz.

Belirtilen uzaklıkta yönetilmeyen belleğe 64 bit imzalı bir tamsayı değeri yazar.

WriteIntPtr(IntPtr, Int32, IntPtr)

Belirtilen uzaklıkta yönetilmeyen belleğe işlemci yerel boyutlu bir tamsayı değeri yazar.

WriteIntPtr(IntPtr, IntPtr)

Yönetilmeyen belleğe işlemci yerel boyutlu bir tamsayı değeri yazar.

WriteIntPtr(Object, Int32, IntPtr)
Geçersiz.

Yönetilmeyen belleğe işlemci yerel boyutlu bir tamsayı değeri yazar.

ZeroFreeBSTR(IntPtr)

yöntemi kullanılarak ayrılmış bir BSTR işaretçisini SecureStringToBSTR(SecureString) serbesttir.

ZeroFreeCoTaskMemAnsi(IntPtr)

yöntemi kullanılarak ayrılan yönetilmeyen bir dize işaretçisini SecureStringToCoTaskMemAnsi(SecureString) serbest koyar.

ZeroFreeCoTaskMemUnicode(IntPtr)

yöntemi kullanılarak ayrılan yönetilmeyen bir dize işaretçisini SecureStringToCoTaskMemUnicode(SecureString) serbest koyar.

ZeroFreeCoTaskMemUTF8(IntPtr)

yöntemi kullanılarak ayrılan yönetilmeyen bir dize işaretçisini StringToCoTaskMemUTF8(String) serbest koyar.

ZeroFreeGlobalAllocAnsi(IntPtr)

yöntemi kullanılarak ayrılan yönetilmeyen bir dize işaretçisini SecureStringToGlobalAllocAnsi(SecureString) serbest koyar.

ZeroFreeGlobalAllocUnicode(IntPtr)

yöntemi kullanılarak ayrılan yönetilmeyen bir dize işaretçisini SecureStringToGlobalAllocUnicode(SecureString) serbest koyar.

Şunlara uygulanır