Metodo IHostIoCompletionManager::GetHostOverlappedSize
Ottiene le dimensioni di tutti i dati personalizzati che l'host intende aggiungere alle richieste di I/O.
Sintassi
HRESULT GetHostOverlappedSize (
[out] DWORD *pcbSize
);
Parametri
pcbSize
[out] Puntatore al numero di byte che Common Language Runtime (CLR) deve allocare oltre alle dimensioni dell'oggetto Win32 OVERLAPPED
.
Valore restituito
HRESULT | Descrizione |
---|---|
S_OK | GetHostOverlappedSize restituito correttamente. |
HOST_E_CLRNOTAVAILABLE | CLR non è stato caricato in un processo oppure CLR si trova in uno stato in cui non può eseguire codice gestito o elaborare correttamente la chiamata. |
HOST_E_TIMEOUT | Timeout della chiamata. |
HOST_E_NOT_OWNER | Il chiamante non possiede il blocco. |
HOST_E_ABANDONED | Un evento è stato annullato durante l'attesa di un thread o di una fibra bloccata. |
E_FAIL | Si è verificato un errore irreversibile sconosciuto. Quando un metodo restituisce E_FAIL, CLR non è più utilizzabile all'interno del processo. Le chiamate successive ai metodi di hosting restituiscono HOST_E_CLRNOTAVAILABLE. |
Commenti
Tutte le chiamate di I/O asincrone alle API della piattaforma Windows accettano un oggetto Win32 OVERLAPPED
, che fornisce informazioni come la posizione del puntatore del file. Per mantenere lo stato, le applicazioni che emettono chiamate di I/O asincrone in genere aggiungono dati personalizzati alla struttura. GetHostOverlappedSize
e IHostIoCompletionManager::InitializeHostOverlapped offrono all'host l'opportunità di includere tali dati personalizzati.
CLR chiama il GetHostOverlappedSize
metodo per determinare le dimensioni dei dati personalizzati che l'host intende aggiungere all'oggetto OVERLAPPED
.
Nota
GetHostOverlappedSize
viene chiamato una sola volta. I dati personalizzati dell'host devono avere le stesse dimensioni per ogni richiesta di I/O.
Importante
La dimensione dell'oggetto OVERLAPPED
stesso non è inclusa nel valore di pcbSize
.
Per altre informazioni sulla OVERLAPPED
struttura, vedere la documentazione della piattaforma Windows.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MSCorEE.h
Libreria: Incluso come risorsa in MSCorEE.dll
Versioni di .NET Framework: Disponibile dalla versione 2.0