Freigeben über


ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped Methode

Definition

Wichtig

Diese API ist nicht CLS-kompatibel.

Gibt einen nicht verwalteten Zeiger auf eine NativeOverlapped Struktur zurück, die einen Delegaten angibt, der aufgerufen wird, wenn der asynchrone I/O-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 Objektarray, das den Eingabe- oder den Ausgabepuffer für den Vorgang darstellt. Jedes Objekt stellt einen Puffer dar, z. B. ein Array von Bytes. Kann null sein.

Gibt zurück

NativeOverlapped*

Ein nicht verwalteter Zeiger auf eine NativeOverlapped-Struktur.

Attribute

Ausnahmen

callback ist null.

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

Hinweise

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

Die in diesem Bereich angegebenen pinData Puffer oder Puffer müssen mit denen identisch sein, die an die nicht verwaltete Betriebssystemfunktion übergeben werden, die die asynchrone E/A ausführt.

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

Hinweis

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

Gilt für