Freigeben über


IHostIoCompletionManager::GetHostOverlappedSize-Methode

Ruft die Größe benutzerdefinierter Daten ab, die der Host an E/A-Anforderungen anfügen möchte.

HRESULT GetHostOverlappedSize (
    [out] DWORD *pcbSize
);

Parameter

  • pcbSize
    [out] Ein Zeiger auf die Anzahl der Bytes, die die Common Language Runtime (CLR) zusätzlich zur Größe des Win32-OVERLAPPED-Objekts reservieren soll.

Rückgabewert

HRESULT

Beschreibungen

S_OK

GetHostOverlappedSize erfolgreich zurückgegeben.

HOST_E_CLRNOTAVAILABLE

Die CLR wurde nicht in einen Prozess geladen oder befindet sich in einem Zustand, in dem sie weder verwalteten Code ausführen noch den Aufruf erfolgreich verarbeiten kann.

HOST_E_TIMEOUT

Der Aufruf hat das Zeitlimit überschritten.

HOST_E_NOT_OWNER

Der Aufrufer ist nicht Besitzer der Sperre.

HOST_E_ABANDONED

Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber auf das Ereignis gewartet hat.

E_FAIL

Ein unbekannter, schwerwiegender Fehler ist aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR innerhalb des Prozesses nicht mehr verwendet werden. Nachfolgende Aufrufe von Hostmethoden geben HOST_E_CLRNOTAVAILABLE zurück.

Hinweise

Alle asynchronen E/A-Aufrufe von Windows-Plattform-APIs verwenden ein Win32-OVERLAPPED-Objekt, das Informationen, wie z. B. die Position des Dateizeigers, zur Verfügung stellt. Um den Zustand beizubehalten, fügen Anwendungen, die asynchrone E/A-Aufrufe durchführen, der Struktur in der Regel benutzerdefinierte Daten hinzu. GetHostOverlappedSize und IHostIoCompletionManager::InitializeHostOverlapped ermöglichen es dem Host, diese benutzerdefinierten Daten aufzunehmen.

Die CKR ruft die GetHostOverlappedSize-Methode auf, um die Größe der benutzerdefinierten Daten zu bestimmen, die der Host an das OVERLAPPED-Objekt anfügen möchte.

HinweisHinweis

GetHostOverlappedSize wird nur einmal aufgerufen.Die benutzerdefinierten Daten des Hosts müssen für jede E/A-Anforderung die gleiche Größe aufweisen.

Wichtiger HinweisWichtig

Die Größe des OVERLAPPED-Objekts selbst ist nicht im Wert von pcbSize enthalten.

Weitere Informationen zur OVERLAPPED-Struktur finden Sie in der Dokumentation zur Windows-Plattform.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MSCorEE.h

Bibliothek: als Ressource in MSCorEE.dll enthalten

.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

ICLRIoCompletionManager-Schnittstelle

NativeOverlapped

IHostIoCompletionManager-Schnittstelle