Aracılığıyla paylaş


Marshal Sınıf

Tanım

Yönetilmeyen belleği ayırmaya, yönetilmeyen bellek bloklarını kopyalamaya ve yönetilen türleri yönetilmeyen türlere dönüştürmeye ve yönetilmeyen kodla etkileşim kurarken kullanılan diğer çeşitli yöntemlere yönelik bir yöntem koleksiyonu 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, Marshal sınıfı tarafından tanımlanan çeşitli yöntemlerin nasıl kullanılacağı gösterilmektedir.

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

Marshal sınıfında tanımlanan static yöntemleri 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 ANSI karakterlerini belirtilen dizeden (yönetilen yığında) 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ışı hakkında ayrıntılı bilgi için bkz. birlikte çalışma hazırlama.

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

Alanlar

SystemDefaultCharSize

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

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.

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ı 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 takma ad tarafından tanımlanan bir arabirim işaretçisi 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ına 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 verileri yönetilmeyen bir bellek işaretçisine kopyalar.

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

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

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

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

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

Yönetilmeyen bir bellek işaretçisinden yönetilen 8 bit işaretsiz 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 dizisine 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 bir IntPtr dizisinden 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ürdeki bir nesneye sarmalar.

CreateWrapperOfType<T,TWrapper>(T)

Belirtilen COM nesnesini belirtilen türdeki bir nesneye sarmalar.

DestroyStructure(IntPtr, Type)
Geçersiz.

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

DestroyStructure<T>(IntPtr)

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

FinalReleaseComObject(Object)

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

FreeBSTR(IntPtr)

COM SysFreeString işlevini kullanarak bir BSTR serbest bırakabilirsiniz.

FreeCoTaskMem(IntPtr)

Yönetilmeyen COM görev belleği 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 boşaltıyor.

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 bir 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, 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(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<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, 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-table 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 kod alır.

GetExceptionForHR(Int32, IntPtr)

Belirtilen HRESULT hata kodunu ilgili nesnesine dönüştürür ve özel durum nesnesi için IErrorInfo arabiriminde ek hata bilgileri geçirilir.

GetExceptionForHR(Int32)

Belirtilen HRESULT hata kodunu ilgili Exception nesnesine 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()

Marshalkullanılarak yü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 arabirimi döndürür.

GetIUnknownForObject(Object)

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

GetIUnknownForObjectInContext(Object)

Çağıran, bu nesneyle aynı bağlamdaysa, yönetilen bir nesneden 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()

SetLastError bayrağı ayarlanmış platform çağrısı 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 bir ç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 nesnesi 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)

COM nesnesini, IUnknown arabirimini gösteren bir tür örneği döndürür.

GetObjectForNativeVariant(IntPtr)
Geçersiz.

COM VARIANT'ı 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 VARIANTs dizisini bir nesne dizisine dönüştürür.

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

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-table veya VTBL) ilk yuvayı alır.

GetThreadFromFiberCookie(Int32)
Geçersiz.

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

GetTypedObjectForIUnknown(IntPtr, Type)

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

GetTypeForITypeInfo(IntPtr)

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

GetTypeFromCLSID(Guid)

Belirtilen sınıf tanımlayıcısı (CLSID) ile 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 Runtime Çağrılabilen Sarmalayıcı (RCW) nesnesi oluşturur.

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

Yönetilmeyen koddan yönetilen koda yapılan ç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 bir SafeHandle temel tanıtıcısını başlatır.

IsComObject(Object)

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

IsTypeVisibleFromCom(Type)

Bir türün COM istemcileri tarafından 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, Int32)

Yönetilen bir Stringayı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.

PtrToStringAnsi(IntPtr)

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

PtrToStringAuto(IntPtr, Int32)

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

PtrToStringAuto(IntPtr)

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

PtrToStringBSTR(IntPtr)

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

PtrToStringUni(IntPtr, Int32)

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

PtrToStringUni(IntPtr)

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

PtrToStringUTF8(IntPtr, Int32)

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

PtrToStringUTF8(IntPtr)

Yönetilen bir String ayırır ve yönetilmeyen utf-8 dizesinden ilk null karaktere kadar tüm karakterleri 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ürdeki yeni ayrılmış yönetilen nesneye sıralar.

PtrToStructure<T>(IntPtr, T)

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

PtrToStructure<T>(IntPtr)

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

QueryInterface(IntPtr, Guid, IntPtr)

BIR COM nesnesinden belirtilen arabirime işaretçi isteğinde bulunur.

ReadByte(IntPtr, Int32)

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

ReadByte(IntPtr)

Yönetilmeyen bellekten tek bir bayt okur.

ReadByte(Object, Int32)
Geçersiz.

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

ReadInt16(IntPtr, Int32)

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

ReadInt16(IntPtr)

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

ReadInt16(Object, Int32)
Geçersiz.

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

ReadInt32(IntPtr, Int32)

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

ReadInt32(IntPtr)

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

ReadInt32(Object, Int32)
Geçersiz.

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

ReadInt64(IntPtr, Int32)

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

ReadInt64(IntPtr)

Yönetilmeyen bellekten 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, Int32)

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

ReadIntPtr(IntPtr)

Yönetilmeyen bellekten yerel boyutlu işlemci 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 AllocCoTaskMem(Int32)ile ayrılmış bir bellek bloğunu yeniden boyutlandırıyor.

ReAllocHGlobal(IntPtr, IntPtr)

daha önce AllocHGlobal(IntPtr)ile 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ı (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 nesnesinin içeriğini buna kopyalar.

SecureStringToCoTaskMemAnsi(SecureString)

Yönetilen SecureString nesnesinin 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 nesnesinin 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 içeriğini yönetilmeyen belleğe kopyalar ve kopyalanırken ANSI biçimine dönüştürür.

SecureStringToGlobalAllocUnicode(SecureString)

Yönetilen SecureString nesnesinin 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 bir String içeriğini buna kopyalar.

StringToCoTaskMemAnsi(String)

Yönetilen String 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 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 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 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 içeriğini yönetilmeyen belleğe kopyalar ve kopyalanırken ANSI biçimine dönüştürür.

StringToHGlobalAuto(String)

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

StringToHGlobalUni(String)

Yönetilen String içeriğini yönetilmeyen belleğe kopyalar.

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

Yönetilen bir nesneden verileri yönetilmeyen bir bellek bloğuna 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, IntPtr)

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

ThrowExceptionForHR(Int32)

Belirli bir hata HRESULT değeriyle 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)

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

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

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

WriteInt16(IntPtr, Char)

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

WriteInt16(IntPtr, Int16)

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

WriteInt16(IntPtr, Int32, Char)

Belirtilen 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.

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

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

Belirtilen uzaklıkta yönetilmeyen belleğe 16 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(IntPtr, Int32)

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 yerel boyutlu bir işlemci 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)

SecureStringToBSTR(SecureString) yöntemi kullanılarak ayrılan bir BSTR işaretçisini serbest bırakabilirsiniz.

ZeroFreeCoTaskMemAnsi(IntPtr)

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

ZeroFreeCoTaskMemUnicode(IntPtr)

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

ZeroFreeCoTaskMemUTF8(IntPtr)

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

ZeroFreeGlobalAllocAnsi(IntPtr)

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

ZeroFreeGlobalAllocUnicode(IntPtr)

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

Şunlara uygulanır