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.
Hinweis |
---|
GetHostOverlappedSize wird nur einmal aufgerufen.Die benutzerdefinierten Daten des Hosts müssen für jede 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: 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