Freigeben über


IHostIoCompletionManager::InitializeHostOverlapped-Methode

Bietet dem Host die Möglichkeit, benutzerdefinierte Daten zu initialisieren, die an eine OVERLAPPED-Struktur von Win32 angefügt werden, die für asynchrone E/A-Anforderungen verwendet wird

Syntax

HRESULT InitializeHostOverlapped (  
    [in] void* pvOverlapped  
);  

Parameter

pvOverlapped
[in] Ein Zeiger auf die Win32-Struktur OVERLAPPED, die in die E/A-Anforderung aufgenommen werden soll

Rückgabewert

HRESULT BESCHREIBUNG
S_OK InitializeHostOverlapped wurde erfolgreich zurückgegeben.
HOST_E_CLRNOTAVAILABLE Die Common Language Runtime (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.
E_OUTOFMEMORY Nicht genügend Arbeitsspeicher verfügbar, um die angeforderte Ressource zuzuweisen

Bemerkungen

Die Windows-Plattformfunktionen verwenden die Struktur OVERLAPPED zum Speichern des Zustands für asynchrone E/A-Anforderungen. Die CLR ruft die InitializeHostOverlapped-Methode auf, um dem Host die Möglichkeit zu geben, benutzerdefinierte Daten an eine OVERLAPPED-Instanz anzufügen.

Wichtig

Um zum Anfang des benutzerdefinierten Datenblocks zu gelangen, müssen Hosts den Offset auf die Größe der OVERLAPPED-Struktur (sizeof(OVERLAPPED)) festlegen.

Ein Rückgabewert von E_OUTOFMEMORY gibt an, dass der Host seine benutzerdefinierten Daten nicht initialisiert hat. In diesem Fall meldet die CLR einen Fehler, und der Aufruf schlägt fehl.

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