Sdílet prostřednictvím


PreAllocatedOverlapped.UnsafeCreate Metoda

Definice

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Inicializuje novou instanci PreAllocatedOverlapped třídy zadáním delegáta, který je vyvolán při dokončení každé asynchronní vstupně-výstupní operace, uživatelem zadaný objekt poskytující kontext a spravované objekty, které slouží jako vyrovnávací paměti.

public:
 static System::Threading::PreAllocatedOverlapped ^ UnsafeCreate(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);
[System.CLSCompliant(false)]
public static System.Threading.PreAllocatedOverlapped UnsafeCreate (System.Threading.IOCompletionCallback callback, object? state, object? pinData);
[<System.CLSCompliant(false)>]
static member UnsafeCreate : System.Threading.IOCompletionCallback * obj * obj -> System.Threading.PreAllocatedOverlapped
Public Shared Function UnsafeCreate (callback As IOCompletionCallback, state As Object, pinData As Object) As PreAllocatedOverlapped

Parametry

callback
IOCompletionCallback

Delegát IOCompletionCallback , který představuje metodu zpětného volání vyvolanou při dokončení každé asynchronní vstupně-výstupní operace.

state
Object

Uživatelem zadaný objekt, který odlišuje NativeOverlapped instanci vytvořenou z tohoto objektu od jiných NativeOverlapped instancí. Může být null.

pinData
Object

Objekt nebo pole objektů představujících vstupní nebo výstupní vyrovnávací paměť pro operace. Každý objekt představuje vyrovnávací paměť, například pole bajtů. Může být null.

Návraty

Nová PreAllocatedOverlapped instance.

Atributy

Výjimky

callback je null.

Tato metoda byla volána po odstranění ThreadPoolBoundHandle .

Poznámky

Novou PreAllocatedOverlapped instanci je možné předat do AllocateNativeOverlapped(PreAllocatedOverlapped)a vytvořit NativeOverlapped tak instanci, která se dá předat operačnímu systému v překrývajících se vstupně-výstupních operacích. Jednu PreAllocatedOverlapped instanci lze použít pouze pro jednu nativní vstupně-výstupní operaci najednou. Stav uložený v PreAllocatedOverlapped instanci však lze znovu použít pro následné nativní operace. ExecutionContext není tekut do vyvolání zpětného volání.

Poznámka

Vyrovnávací paměti zadané v pinData souboru jsou připnuty, dokud Dispose() není volána.

Platí pro