サーバー設定のクエリ

提供: InterBase

Services Manager に対するクエリ へ戻る


isc_service_query() と一緒に次の項目を使用すると、InterBase サーバー設定に関する情報を要求することができます。

サーバー設定項目 目的 戻り値
の長さ
戻り値

isc_info_svc_version

Services Manager のバージョン

4 バイト

unsigned long

isc_info_svc_server_version

InterBase サーバーのバージョン

2 バイト + 文字列

文字列

isc_info_svc_implementation

サーバーの実装文字列またはプラットフォーム。 例: InterBase/Sun4

2 バイト + 文字列

文字列

isc_info_svc_get_license

サーバー上で現在有効なすべてのCertification ID および Certification Key

以下を参照

以下を参照

isc_info_svc_get_license_mask

サーバー上で現在有効なソフトウェア ライセンス オプションを表すビットマスク。 将来の実装のために予約

4 バイト

ビットマスク

isc_info_svc_capabilities

サーバー上で現在有効な機能を表すビットマスク。 将来の実装のために予約

4 バイト

ビットマスク

isc_info_svc_get_config

サーバー上の ibconfig ファイルで定義されているパラメータと値

以下を参照

以下を参照

isc_info_svc_get_env

サーバー上の InterBase ルート ディレクトリの位置。 これは、$InterBase システム環境変数の値、または、レジストリ キーの内容です。

2 バイト + 文字列

文字列

isc_info_svc_get_env_lock

サーバー上の InterBase ロック マネージャ ファイルの位置。 これは、$InterBase_LCK システム環境変数の値、またはデフォルトでは、$InterBase/serverhostname.lck です。

2 バイト + 文字列

文字列

isc_info_svc_get_env_msg

サーバー上の InterBase メッセージ ファイルの位置。 これは、$InterBase_MSG システム環境変数の値、またはデフォルトでは、$InterBase/InterBase.msg です。

2 バイト + 文字列

文字列

Services API クエリ: Services Manager バージョン


. . .
case isc_info_svc_version: {
unsigned long svcversion;
p += sizeof (unsigned short);
svcversion = (unsigned long)
isc_portable_integer (p, sizeof(unsigned long));
printf ("Service Manager Version: %d\n", svcversion);
p += sizeof (unsigned long);
break;
}
. . .

Services API クエリ: サーバー バージョン


. . .
case isc_info_svc_server_version: {
path_length = (unsigned short)
isc_portable_integer (p, sizeof(unsigned short));
p += sizeof (unsigned short);
buffer = (char*) malloc (path_length);
strncpy (buffer, p, path_length);
buffer [path_length] = '\0';
printf ("Server version: %s\n", buffer);
p += path_length;
break;
}
. . .

Services API クエリ: サーバー実装


. . .
case isc_info_svc_implementation: {
path_length = (unsigned short)
isc_portable_integer (p, sizeof(unsigned short));
p += sizeof (unsigned short);
buffer = (char*) malloc (path_length);
strncpy (buffer, p, path_length);
buffer [path_length] = '\0';
printf ("Server implementation: %s\n", buffer);
p += path_length;
break;
}
. . .

Services API クエリ: ライセンス マスク


. . .
case isc_info_svc_get_license_mask: {
unsigned long mask;
printf ("License Information:\n");
p += sizeof (unsigned short);
mask = (unsigned long)
isc_vax_integer (p, sizeof(unsigned long));
if (mask & LIC_S)
printf ("\tRemote Server Enabled\n");
p += sizeof (unsigned long);
break;
}
. . .

サービス API を使ったクエリ: サーバーの機能


. . .
case isc_info_svc_capabilities: {
unsigned long capabilities;
printf ("Server Capabilities:\n");
p += sizeof (unsigned short);
capabilities = (unsigned long)
isc_vax_integer (p, sizeof(unsigned long));
if (capabilities & MULTI_CLIENT_SUPPORT)
printf ("\tSupports multiple clients\n");
p += sizeof (unsigned long);
break;
}
. . .

サービス API を使ったクエリ: サーバーのルート ディレクトリの位置


. . .
case isc_info_svc_get_env: {
path_length = (unsigned short)
isc_portable_integer (p, sizeof(unsigned short));
p += sizeof (unsigned short);
buffer = (char*) malloc (path_length);
strncpy (buffer, p, path_length);
buffer [path_length] = '\0';
printf ("Value of $InterBase: %s\n", buffer);
free(buffer);
p += path_length;
break;
}
. . .

サービス API を使ったクエリ: サーバーのロック ファイルの位置


. . .
case isc_info_svc_get_env_lock: {
path_length = (unsigned short)
isc_portable_integer (p, sizeof(unsigned short));
p += sizeof (unsigned short);
buffer = (char*) malloc (path_length);
strncpy (buffer, p, path_length);
buffer [path_length] = '\0';
printf ("Path to <hostname>.lck: %s\n", buffer);
free(buffer);
p += path_length;
break;
}
. . .

サービス API を使ったクエリ:メッセージ ファイルの位置


. . .
case isc_info_svc_get_env_msg: {
path_length = (unsigned short)
isc_portable_integer (p, sizeof(unsigned short));
p += sizeof (unsigned short);
buffer = (char*) malloc (path_length);
strncpy (buffer, p, path_length);
buffer [path_length] = '\0';
printf ("Path to InterBase.MSG: %s\n", buffer);
p += path_length;
break;
}
. . .

トピック

次は: