ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped Methode

Definition

Wichtig

Diese API ist nicht CLS-kompatibel.

Gibt einen nicht verwalteten Zeiger auf eine NativeOverlapped Struktur zurück, der einen Delegaten angibt, der aufgerufen wird, wenn der asynchrone E/A-Vorgang abgeschlossen ist, ein vom Benutzer bereitgestelltes Objekt, das Kontext bereitstellt, und verwaltete Objekte, die als Puffer dienen.

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>

Parameter

callback
IOCompletionCallback

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

state
Object

Ein vom Benutzer bereitgestelltes Objekt, das dies NativeOverlapped von anderen NativeOverlapped Instanzen unterscheidet. Kann null sein.

pinData
Object

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

Gibt zurück

Ein nicht verwalteter Zeiger auf eine NativeOverlapped Struktur.

Attribute

Ausnahmen

callback ist null.

Diese Methode wurde aufgerufen, nachdem die ThreadPoolBoundHandle Methode verworfen wurde.

Hinweise

Der von dieser Methode zurückgegebene nicht verwaltete Zeiger kann in überlappenden E/A-Vorgängen an das Betriebssystem übergeben werden. Die NativeOverlapped Struktur wird im physischen Speicher festgelegt, bis FreeNativeOverlapped(NativeOverlapped*) sie aufgerufen wird.

Der in pinData diesem Parameter angegebene Puffer muss mit den Puffern identisch sein, die an die nicht verwaltete Betriebssystemfunktion übergeben werden, die die asynchrone E/A-Funktion ausführt.

ExecutionContext wird nicht an den Aufruf des Rückrufs fließen.

Note

Die angegebenen pinData Puffer werden für die Dauer des E/A-Vorgangs angeheftet.

Gilt für: