PreAllocatedOverlapped.UnsafeCreate Metoda

Definice

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Inicializuje novou instanci PreAllocatedOverlapped třídy a určuje delegáta, který se vyvolá při dokončení každé asynchronní vstupně-výstupní operace, objekt poskytovaný uživatelem 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

Objekt poskytovaný uživatelem, který rozlišuje NativeOverlapped instanci vytvořenou z tohoto objektu od jiných NativeOverlapped instancí. Může to být null.

pinData
Object

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

Návraty

Nová PreAllocatedOverlapped instance.

Atributy

Výjimky

callback je null.

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

Poznámky

Novou PreAllocatedOverlapped instanci lze předat AllocateNativeOverlapped(PreAllocatedOverlapped), aby se vytvořila NativeOverlapped instance, 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 se ale dá znovu použít pro následné nativní operace. ExecutionContext není tok vyvolání zpětného volání.

Note

Vyrovnávací paměti zadané v pinData se připnou, dokud Dispose() se nevolají.

Platí pro