Freigeben über


PreAllocatedOverlapped.UnsafeCreate Methode

Definition

Wichtig

Diese API ist nicht CLS-kompatibel.

Initialisiert eine neue Instanz der -Klasse und gibt einen Delegat an, der PreAllocatedOverlapped aufgerufen wird, wenn jeder asynchrone E/A-Vorgang abgeschlossen ist, ein vom Benutzer bereitgestelltes Objekt, das Kontext bereitstellt, und verwaltete Objekte, die als Puffer dienen.

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

Parameter

callback
IOCompletionCallback

Ein IOCompletionCallback Delegat, der die Rückrufmethode darstellt, die aufgerufen wird, wenn jeder asynchrone E/A-Vorgang abgeschlossen ist.

state
Object

Ein vom Benutzer bereitgestelltes Objekt, das die von diesem Objekt erstellte Instanz von anderen NativeOverlapped Instanzen unterscheidetNativeOverlapped. Kann null sein.

pinData
Object

Ein Objekt oder Array von Objekten, die den Eingabe- oder Ausgabepuffer für die Vorgänge darstellen. Jedes Objekt stellt einen Puffer dar, z. B. ein Array von Bytes. Kann null sein.

Gibt zurück

Die neue PreAllocatedOverlapped-Instanz.

Attribute

Ausnahmen

callback ist null.

Diese Methode wurde aufgerufen, nachdem das ThreadPoolBoundHandle-Objekt freigegeben wurde.

Hinweise

Die neue PreAllocatedOverlapped Instanz kann an übergeben werden, AllocateNativeOverlapped(PreAllocatedOverlapped)um eine NativeOverlapped Instanz zu erzeugen, die in überlappenden E/A-Vorgängen an das Betriebssystem übergeben werden kann. Eine einzelne PreAllocatedOverlapped Instanz kann nur für einen einzelnen nativen E/A-Vorgang gleichzeitig verwendet werden. Der in der PreAllocatedOverlapped Instanz gespeicherte Zustand kann jedoch für nachfolgende native Vorgänge wiederverwendet werden. ExecutionContext wird nicht an den Aufruf des Rückrufs übergeben.

Hinweis

Die in pinData angegebenen Puffer werden angeheftet, bis Dispose() sie aufgerufen werden.

Gilt für: