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.
Nota |
---|
GetHostOverlappedSize viene chiamato una volta sola.I dati personalizzati dell'host devono essere delle stesse dimensioni per ogni richiesta I/O. |
Importante |
---|
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