Método IHostIoCompletionManager::GetHostOverlappedSize
Obtém o tamanho de quaisquer dados personalizados que o anfitrião pretenda acrescentar aos pedidos de E/S.
Sintaxe
HRESULT GetHostOverlappedSize (
[out] DWORD *pcbSize
);
Parâmetros
pcbSize
[fora] Um ponteiro para o número de bytes que o common language runtime (CLR) deve alocar, além do tamanho do objeto Win32 OVERLAPPED
.
Devolver Valor
HRESULT | Description |
---|---|
S_OK | GetHostOverlappedSize devolvido com êxito. |
HOST_E_CLRNOTAVAILABLE | O CLR não foi carregado para um processo ou o CLR está num estado em que não pode executar o código gerido ou processar a chamada com êxito. |
HOST_E_TIMEOUT | A chamada excedeu o limite de tempo. |
HOST_E_NOT_OWNER | O autor da chamada não é o proprietário do bloqueio. |
HOST_E_ABANDONED | Um evento foi cancelado enquanto um thread ou fibra bloqueado estava à espera. |
E_FAIL | Ocorreu uma falha catastrófica desconhecida. Quando um método devolve E_FAIL, o CLR já não é utilizável no processo. As chamadas subsequentes para métodos de alojamento devolvem HOST_E_CLRNOTAVAILABLE. |
Observações
Todas as chamadas de E/S assíncronas às APIs da Plataforma Windows assumem um objeto Win32 OVERLAPPED
, que fornece informações como a posição do ponteiro do ficheiro. Para manter o estado, as aplicações que fazem chamadas de E/S assíncronas normalmente adicionam dados personalizados à estrutura. GetHostOverlappedSize
e IHostIoCompletionManager::InitializeHostOverlapped proporcionam uma oportunidade para o anfitrião incluir esses dados personalizados.
O CLR chama o GetHostOverlappedSize
método para determinar o tamanho dos dados personalizados que o anfitrião pretende acrescentar ao OVERLAPPED
objeto.
Nota
GetHostOverlappedSize
é chamado apenas uma vez. Os dados personalizados do anfitrião têm de ter o mesmo tamanho para cada pedido de E/S.
Importante
O tamanho do OVERLAPPED
objeto em si não está incluído no valor de pcbSize
.
Para obter mais informações sobre a OVERLAPPED
estrutura, consulte a documentação da Plataforma Windows.
Requisitos
Plataformas: Veja Requisitos de Sistema.
Cabeçalho: MSCorEE.h
Biblioteca: Incluído como um recurso no MSCorEE.dll
.NET Framework Versões: Disponível desde 2.0