PreAllocatedOverlapped.UnsafeCreate Methode

Definitie

Belangrijk

Deze API is niet CLS-conform.

Initialiseert een nieuw exemplaar van de PreAllocatedOverlapped klasse, waarbij een gemachtigde wordt opgegeven die wordt aangeroepen wanneer elke asynchrone I/O-bewerking is voltooid, een door de gebruiker verstrekt object dat context biedt en beheerde objecten die fungeren als buffers.

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

Parameters

callback
IOCompletionCallback

Een IOCompletionCallback gemachtigde die de callback-methode vertegenwoordigt die wordt aangeroepen wanneer elke asynchrone I/O-bewerking is voltooid.

state
Object

Een door de gebruiker verstrekt object dat onderscheid maakt tussen NativeOverlapped exemplaren die afkomstig zijn van dit object van andere NativeOverlapped exemplaren. Kan zijn null.

pinData
Object

Een object of matrix met objecten die de invoer- of uitvoerbuffer voor de bewerkingen vertegenwoordigen. Elk object vertegenwoordigt een buffer, bijvoorbeeld een matrix van bytes. Kan zijn null.

Retouren

Het nieuwe PreAllocatedOverlapped exemplaar.

Kenmerken

Uitzonderingen

callback is null.

Deze methode is aangeroepen nadat de verwijdering ThreadPoolBoundHandle is uitgevoerd.

Opmerkingen

Het nieuwe PreAllocatedOverlapped exemplaar kan worden doorgegeven aan AllocateNativeOverlapped(PreAllocatedOverlapped), om een NativeOverlapped exemplaar te produceren dat kan worden doorgegeven aan het besturingssysteem in overlappende I/O-bewerkingen. Eén PreAllocatedOverlapped exemplaar kan slechts worden gebruikt voor één systeemeigen I/O-bewerking tegelijk. De status die in het PreAllocatedOverlapped exemplaar is opgeslagen, kan echter opnieuw worden gebruikt voor volgende systeemeigen bewerkingen. ExecutionContext wordt niet naar de aanroep van de callback gestroomd.

Note

De opgegeven pinData buffers worden vastgemaakt totdat Dispose() ze worden aangeroepen.

Van toepassing op