Freigeben über


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.

Siehe auch