Поделиться через


функция обратного вызова PONLINE_ROUTINE (resapi.h)

Помечает ресурс как доступный для использования. Тип PONLINE_ROUTINE определяет указатель на эту функцию.

Синтаксис

PONLINE_ROUTINE PonlineRoutine;

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

Параметры

[in] Resource

Идентификатор ресурса для ресурса, который будет доступен.

[in, out] EventHandle

На входных данных EventHandle имеет значение NULL. В выходных данных EventHandle содержит дескриптор объекта синхронизации без знака. Библиотека DLL ресурса может сообщить об этом дескрипторове в любое время, чтобы сообщить о сбое ресурса в монитор ресурсов. EventHandle также можно задать для выходных данных значение NULL , указывая, что ресурс не поддерживает асинхронное уведомление о событиях.

Возвращаемое значение

Возвращаемый код/значение Описание
ERROR_SUCCESS
0
Операция прошла успешно, и ресурс теперь подключен к сети.
ERROR_RESOURCE_NOT_AVAILABLE
5006 (0x138E)
Ресурс был арбитражирован с некоторыми другими системами, и одна из других систем выиграла арбитраж. Только ресурсы, поддерживающие кворум , возвращают это значение.
ERROR_IO_PENDING
997 (0x3E5)
Запрос находится в состоянии ожидания, и поток активирован для обработки запроса в сети.
 

Если операция не была успешной по другим причинам, служба Online должна вернуть один из кодов системных ошибок.

Комментарии

Если функция точки входа в сети возвращает код ошибки, отличный от ERROR_IO_PENDING, монитор ресурсов регистрирует событие и вызывает Terminate.

Возврат допустимого EventHandle дает следующие преимущества:

  • Монитор ресурсов не будет выполнять опрос LooksAlive . Избежать этой нагрузки часто бывает полезно, особенно если библиотека DLL поддерживает несколько экземпляров ресурсов.
  • Вы можете сообщить о сбое ресурса в любое время, сигналив дескриптору. Монитор ресурсов немедленно вызовет IsAlive , чтобы убедиться, что ресурс завершился сбоем.
Эффективные стратегии реализации функции точки входа в сети см. в разделе Реализация в сети.

Примеры

См. примеры библиотек DLL ресурсов.

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2008 Корпоративная, Windows Server 2008 Datacenter
Целевая платформа Windows
Header resapi.h

См. также раздел

NetShareAdd

Функции Entry-Point библиотеки ресурсов