Экспортные функции библиотеки mute32.dll

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

Модератор: AsterMaster

Аватара пользователя
AsterMaster
ИБИК
Сообщения: 2222
Зарегистрирован: Сб фев 05, 2005 0:48
Откуда: Москва
Контактная информация:

Экспортные функции библиотеки mute32.dll

Сообщение AsterMaster » Ср дек 14, 2005 2:33

Экспортные функции библиотеки mute32.dll, присутствующие во всех версиях программного обеспечения АСТЕР.

Основное понятие - номер терминала (TerminalId). Номер терминала изменяется от 0 (главное место) до MAXTERMINALSNUM-1 (последнее дополнительное место), где MAXTERMINALSNUM - максимальное количество рабочих мест с учетом главного рабочего места.

ПРИМЕЧАНИЕ 1: отображаемый номер рабочего места должен вычисляться, как TerminalId+1. Следовательно, главному рабочему месту соответствуют номер терминала 0 и номер рабочего места 1.

ПРИМЕЧАНИЕ 2: библиотека mute32.dll располагается в системном каталоге Windows (SystemRoot\System32), поэтому для загрузки библиотеки достаточно указать короткое имя "mute32" в качестве параметра функции LoadLibrary. Если приложение рассчитано на работу только в терминальной среде АСТЕР, можно использовать механизм статического связывания с указанной библиотекой.

Код: Выделить всё

#define INVALID_TERMINAL_ID (-1)


////////////////////////////////////////////////////////////////
// GetCurrentTerminal - возвращает номер терминала (TerminalId),
// на котором выполняется вызывающая функцию программа.
// -------------------------------------------------------------
// Если программное обеспечение АСТЕР находится в выключенном
// состоянии, TerminalId будет равен 0
////////////////////////////////////////////////////////////////

DWORD GetCurrentTerminal ();


////////////////////////////////////////////////////////////////
// GetProcessTerminal - возвращает TerminalId для процесса,
// обозначенного параметром ProcessId (идентификатор процесса)
// -------------------------------------------------------------
// Если процесс с заданным идентификатором не существует
// в системе, функция вернет значение INVALID_TERMINAL_ID.
// -------------------------------------------------------------
// Если программное обеспечение АСТЕР находится в выключенном
// состоянии, TerminalId будет равен 0 для любого ProcessId
////////////////////////////////////////////////////////////////

DWORD GetProcessTerminal (DWORD ProcessId);


////////////////////////////////////////////////////////////////
// GetThreadTerminal - возвращает TerminalId для потока,
// обозначенного параметром ThreadId (идентификатор потока)
// -------------------------------------------------------------
// Если поток с заданным идентификатором не существует
// в системе, функция вернет значение INVALID_TERMINAL_ID.
// -------------------------------------------------------------
// Если программное обеспечение АСТЕР находится в выключенном
// состоянии, TerminalId будет равен 0 для любого ThreadId
////////////////////////////////////////////////////////////////

DWORD GetThreadTerminal (DWORD ThreadId);


////////////////////////////////////////////////////////////////
// GetSessionTerminal - возвращает TerminalId для сеанса,
// обозначенного параметром Session (номер сеанса сервера
// терминалов).
// -------------------------------------------------------------
// Разные рабочие места имеют разные номера сеансов, но одному
// рабочему месту может соответствовать более одного сеанса
// -------------------------------------------------------------
// TerminalId будет равен 0, если сеанс с заданным номером
// не существует в системе.
// -------------------------------------------------------------
// Если программное обеспечение АСТЕР находится в выключенном
// состоянии, TerminalId будет равен 0 для любого Session
////////////////////////////////////////////////////////////////

DWORD GetSessionTerminal (DWORD Session);


////////////////////////////////////////////////////////////////
// GetSystemCap - возвращает константу MAXTERMINALSNUM -
// максимальное количество рабочих мест (с учетом главного),
// поддерживаемое данной версией программного обеспечения АСТЕР
////////////////////////////////////////////////////////////////

DWORD GetSystemCap ();


////////////////////////////////////////////////////////////////
// GetStartupErrorCode - возвращает код ошибки, возникшей
// при загрузке программного обеспечения АСТЕР.
// -------------------------------------------------------------
// Если в процессе загрузки ошибки не возникали, код ошибки
// будет равен 0.
// -------------------------------------------------------------
// Отличный от 0 код ошибки означает, что дополнительные
// рабочие места не могут быть (не будут) запущены.
// -------------------------------------------------------------
// Если программное обеспечение АСТЕР находится в выключенном
// состоянии, код ошибки также будет отличен от 0
////////////////////////////////////////////////////////////////

DWORD GetStartupErrorCode ();

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя