Condividi tramite


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

Vedi anche