Partilhar via


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

Ver também