Compartilhar via


PONLINE_ROUTINE função de retorno de chamada (resapi.h)

Marca um recurso como disponível para uso. O tipo PONLINE_ROUTINE define um ponteiro para essa função.

Sintaxe

PONLINE_ROUTINE PonlineRoutine;

DWORD PonlineRoutine(
  [in]      RESID Resource,
  [in, out] LPHANDLE EventHandle
)
{...}

Parâmetros

[in] Resource

Identificador de recurso para o recurso a ser disponibilizado.

[in, out] EventHandle

Na entrada, EventHandle é NULL. Na saída, EventHandle contém um identificador para um objeto de sincronização não atribuído. A DLL do recurso pode sinalizar esse identificador a qualquer momento para relatar uma falha de recurso ao Monitor de Recursos. EventHandle também pode ser definido como NULL na saída, indicando que o recurso não dá suporte à notificação de evento assíncrono.

Retornar valor

Valor/código retornado Descrição
ERROR_SUCCESS
0
A operação foi bem-sucedida e o recurso agora está online.
ERROR_RESOURCE_NOT_AVAILABLE
5006 (0x138E)
O recurso foi arbitrado com alguns outros sistemas, e um dos outros sistemas ganhou a arbitragem. Somente recursos compatíveis com quorum retornam esse valor.
ERROR_IO_PENDING
997 (0x3E5)
A solicitação está pendente e um thread foi ativado para processar a solicitação online.
 

Se a operação não tiver sido bem-sucedida por outros motivos, o Online deverá retornar um dos códigos de erro do sistema.

Comentários

Se a função ponto de entrada Online retornar um código de erro diferente de ERROR_IO_PENDING, o Resource Monitor registrará um evento e chamará Terminate.

Retornar um EventHandle válido gera os seguintes benefícios:

  • O Monitor de Recursos não executará a sondagem LooksAlive . Evitar essa sobrecarga geralmente é útil, especialmente quando sua DLL dá suporte a várias instâncias de recurso.
  • Você pode relatar uma falha de recurso a qualquer momento sinalizando o identificador. O Monitor de Recursos chamará IsAlive imediatamente para verificar se o recurso falhou.
Para obter estratégias de implementação eficazes da função de ponto de entrada Online , consulte Implementando online.

Exemplos

Confira Exemplos de DLL de recurso.

Requisitos

Requisito Valor
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2008 Enterprise, Windows Server 2008 Datacenter
Plataforma de Destino Windows
Cabeçalho resapi.h

Confira também

NetShareAdd

Funções de Entry-Point de DLL de recurso