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


Функция RtmGetEntityMethods (rtmv2.h)

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

Синтаксис

DWORD RtmGetEntityMethods(
  [in]      RTM_ENTITY_HANDLE         RtmRegHandle,
  [in]      RTM_ENTITY_HANDLE         EntityHandle,
  [in, out] PUINT                     NumMethods,
  [out]     PRTM_ENTITY_EXPORT_METHOD ExptMethods
);

Параметры

[in] RtmRegHandle

Дескриптор клиента, полученного при предыдущем вызове RtmRegisterEntity.

[in] EntityHandle

Дескриптор для клиента, для которого требуется получить методы.

[in, out] NumMethods

На входных данных NumMethods задает допустимый указатель на значение UINT . Укажите ноль, чтобы вернуть количество методов, доступных для экспорта.

В выходных данных NumMethods получает количество методов, экспортированных клиентом.

[out] ExptMethods

Получает указатель на структуру RTM_ENTITY_EXPORT_METHOD , содержащую набор идентификаторов методов, запрошенных вызывающим клиентом.

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

Если функция выполнена успешно, возвращаемое значение будет NO_ERROR.

Если функция завершается сбоем, возвращается один из следующих кодов ошибок.

Значение Значение
ERROR_INSUFFICIENT_BUFFER
Предоставленный буфер недостаточно велик, чтобы вместить всю запрошенную информацию.

Комментарии

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

Если возвращается ERROR_INSUFFICIENT_BUFFER, в ExptMethods могут быть некоторые данные; NumMethods указывает, сколько методов фактически помещается в буфер.

Если дескриптор сущности больше не требуется, отпустите его, вызвав RtmReleaseEntities.

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

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header rtmv2.h
Библиотека Rtm.lib
DLL Rtm.dll

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

RtmBlockMethods

RtmInvokeMethod