サービス API を使ったクエリの例

提供: InterBase

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


この章では、完全な C/C++ コード例を示しながら isc_service_query() 関数の使い方を説明します。 コード例は、以降の節で説明するクエリ項目を示すためにいくつかの部分に分かれています。 この例では、Services Manager への接続が正常に行われていること(「isc_service_attach() による Services Manager への接続」を参照)、および有効なサービス ハンドルが取得されていることを想定しています。

例の最初の部分では、結果バッファを設定する方法と isc_service_query() を呼び出す方法を示します。

サービス API クエリ: クエリの設定と起動


char spb_buffer[6], *spb = spb_buffer;
char request_buffer[] = {
isc_info_svc_server_version,
isc_info_svc_implementation,
isc_info_svc_get_licensed_users,
isc_info_svc_user_dbpath,
isc_info_svc_get_env,
isc_info_svc_get_env_lock,
isc_info_svc_get_env_msg,
isc_info_svc_get_license,
isc_info_svc_svr_db_info,
isc_info_svc_version,
isc_info_svc_get_config};
char result_buffer[1024], *p = result_buffer;
*spb++ = isc_info_svc_timeout;
ADD_SPB_NUMERIC(spb, 60); /* 1 minute timeout */
if (isc_service_query (status, &service_handle, NULL, spb - spb_buffer,
spb_buffer, sizeof(request_buffer), request_buffer,
sizeof(result_buffer), result_buffer)) {
isc_print_status(status);
isc_service_detach(status, &svc_handle);
return;
}

do {
switch (*p++)
{
. . .

このコード例は次のコード例に続きます。

次は: