ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Vrátí nespravovaný ukazatel na NativeOverlapped strukturu a určuje delegáta, který se vyvolá při dokončení asynchronní vstupně-výstupní operace, objekt poskytnutý uživatelem poskytující kontext a spravované objekty, které slouží jako vyrovnávací paměti.
public:
System::Threading::NativeOverlapped* UnsafeAllocateNativeOverlapped(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* UnsafeAllocateNativeOverlapped (System.Threading.IOCompletionCallback callback, object? state, object? pinData);
[<System.CLSCompliant(false)>]
member this.UnsafeAllocateNativeOverlapped : System.Threading.IOCompletionCallback * obj * obj -> nativeptr<System.Threading.NativeOverlapped>
Parametry
- callback
- IOCompletionCallback
Delegát IOCompletionCallback , který představuje metodu zpětného volání vyvolána při dokončení asynchronní vstupně-výstupní operace.
- state
- Object
Objekt poskytovaný uživatelem, který tento NativeOverlapped objekt rozlišuje 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 operaci. Každý objekt představuje vyrovnávací paměť, například pole bajtů. Může to být null
.
Návraty
Nespravovaný ukazatel na NativeOverlapped strukturu.
- Atributy
Výjimky
callback
je null
.
Tato metoda byla volána po ThreadPoolBoundHandle odstranění.
Poznámky
Nespravovaný ukazatel vrácený touto metodou lze předat operačnímu systému v překrývajících se vstupně-výstupních operacích. Struktura NativeOverlapped je pevná ve fyzické paměti, dokud FreeNativeOverlapped(NativeOverlapped*) se nevolá.
Vyrovnávací paměť nebo vyrovnávací paměti zadané v pinData
musí být stejné jako vyrovnávací paměti předané funkci nespravovaného operačního systému, která provádí asynchronní vstupně-výstupní operace.
ExecutionContext není tok do vyvolání zpětného volání.
Poznámka
Vyrovnávací paměti zadané v pinData
se připnou po dobu trvání vstupně-výstupní operace.