IHostIoCompletionManager::GetHostOverlappedSize-Methode
Ruft die Größe aller benutzerdefinierten Daten ab, die der Host an E/A-Anforderungen anfügen möchte.
Syntax
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 zuordnen soll.
Rückgabewert
HRESULT | BESCHREIBUNG |
---|---|
S_OK | GetHostOverlappedSize wurde erfolgreich zurückgegeben. |
HOST_E_CLRNOTAVAILABLE | Die CLR wurde nicht in einen Prozess geladen, oder die CLR befindet sich in einem Zustand, in dem sie keinen verwalteten Code ausführen oder den Aufruf nicht erfolgreich verarbeiten kann. |
HOST_E_TIMEOUT | Timeout des Aufrufs. |
HOST_E_NOT_OWNER | Der Aufrufer besitzt die Sperre nicht. |
HOST_E_ABANDONED | Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber darauf gewartet hat. |
E_FAIL | Es ist ein unbekannter katastrophaler Fehler aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR nicht mehr innerhalb des Prozesses verwendet werden. Nachfolgende Aufrufe von Hostingmethoden geben HOST_E_CLRNOTAVAILABLE zurück. |
Bemerkungen
Alle asynchronen E/A-Aufrufe an Windows-Plattform-APIs benötigen ein Win32-OVERLAPPED
-Objekt, das Informationen wie die Position des Dateizeigers bereitstellt. Um den Zustand beizubehalten, fügen Anwendungen, die asynchrone E/A-Aufrufe ausführen, in der Regel benutzerdefinierte Daten zur Struktur hinzu. GetHostOverlappedSize
und IHostIoCompletionManager::InitializeHostOverlapped bieten dem Host die Möglichkeit, solche benutzerdefinierten Daten aufzunehmen.
Die CLR 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.
Hinweis
GetHostOverlappedSize
wird nur einmal aufgerufen. Die benutzerdefinierten Daten des Hosts müssen bei jeder E/A-Anforderung die gleiche Größe aufweisen.
Wichtig
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: Informationen finden Sie unter Systemanforderungen.
Header: MSCorEE.h
Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.
.NET Framework-Versionen: Seit 2.0 verfügbar.