Condividi tramite


Metodo IHostIoCompletionManager::GetHostOverlappedSize

Ottiene le dimensioni dei dati personalizzati che l'host dovrà accodare alle richieste I/O.

HRESULT GetHostOverlappedSize (
    [out] DWORD *pcbSize
);

Parametri

  • pcbSize
    [out] Puntatore al numero di byte che deve essere allocato da Common Language Runtime in aggiunta alla dimensione dell'oggetto OVERLAPPED Win32.

Valore restituito

HRESULT

Oggetto di descrizione

S_OK

GetHostOverlappedSize ha restituito correttamente un valore.

HOST_E_CLRNOTAVAILABLE

Common Language Runtime non è stato caricato in un processo oppure si trova in uno stato in cui non è possibile eseguire codice gestito né elaborare correttamente la chiamata.

HOST_E_TIMEOUT

Timeout della chiamata.

HOST_E_NOT_OWNER

Il chiamante non è il proprietario del blocco.

HOST_E_ABANDONED

Un evento è stato annullato mentre un thread o un fiber bloccato era in attesa di tale evento.

E_FAIL

Si è verificato un errore irreversibile sconosciuto. Se un metodo restituisce E_FAIL, CLR non sarà più utilizzabile all'interno del processo. Le successive chiamate ai metodi di hosting restituiranno HOST_E_CLRNOTAVAILABLE.

Note

Tutte le chiamate I/O asincrone alle API della piattaforma Windows accettano un oggetto OVERLAPPED Win32 che fornisce informazioni quali la posizione del puntatore del file. Per mantenere lo stato, le applicazioni che effettuano chiamate I/O asincrone in genere aggiungono dei dati personalizzati alla struttura. GetHostOverlappedSize and IHostIoCompletionManager::InitializeHostOverlapped consentono all'host di includere tali dati.

Common Language Runtime chiama il metodo GetHostOverlappedSize per determinare le dimensioni dei dati personalizzati che l'host aggiungerà all'oggetto OVERLAPPED.

NotaNota

GetHostOverlappedSize viene chiamato una volta sola.I dati personalizzati dell'host devono essere delle stesse dimensioni per ogni richiesta I/O.

Nota importanteImportante

Le dimensioni dell'oggetto OVERLAPPED vero e proprio non sono incluse nel valore di pcbSize.

Per ulteriori informazioni sulla struttura OVERLAPPED, vedere la documentazione relativa alla piattaforma Windows.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: inclusa come risorsa in MSCorEE.dll

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vedere anche

Riferimenti

Interfaccia ICLRIoCompletionManager

NativeOverlapped

Interfaccia IHostIoCompletionManager