| Systemwalker Operation Manager リファレンスマニュアル - Microsoft(R) Windows NT(R)/Windows(R) 2000/Windows Server(TM) 2003 - |
目次
索引
![]()
|
| 第14章 API情報 | > 14.1 カレンダAPI |
カレンダ名一覧取得API(Mp_ListCalendar)について説明します。
|
int Mp_ListCalendar (char *APL_name, |
Mp_ListCalendar関数は、サーバに登録されているカレンダ名の一覧を取得します。
要求元アプリケーション名(64バイト以内)の格納領域アドレスを指定します。
終わりはNULLを指定してください。“Mp_”および“_CAL_”の文字列で始まる名前は、使用しないでください。
カレンダ名取得情報構造体(CAL_LIST)のアドレスを指定します。
|
復帰値 |
意 味 |
|
0 |
正常終了しました。 |
|
-7 |
カレンダ一覧領域が不足です。 |
|
-10 |
カレンダサービスが動作していません。 |
|
-11 |
メモリ不足です。 |
カレンダ名格納域構造体を配列としてあらかじめ獲得します。そのアドレスと配列数(カレンダ名格納可能個数)をカレンダ名取得情報構造体に設定して、本関数を呼び出します。
カレンダ数が格納可能個数を超える場合は、カレンダ名取得情報構造体の“cal_num”に実際のカレンダ数が設定されるので、それ以上の配列数でカレンダ名格納域構造体を再獲得して、カレンダ名格納域構造体アドレス(pcal_name)およびカレンダ名格納可能個数(cal_area_num)を更新して、再び本関数を呼び出します。
typedef struct CAL_LIST_TAG {
short cal_area_num ; // カレンダ名格納可能個数
short cal_num ; // 実際のカレンダ数
CAL_NAME_AREA *pcal_name ; // カレンダ名格納域構造体アド
// レス
} CAL_LIST ;
カレンダ名格納域の領域数(カレンダの数で指定する)を指定します。
サーバに格納されている実際のカレンダ数(不足の場合も設定される)が設定されます。
カレンダ名格納域構造体(CAL_NAME_AREA)のアドレスを指定します。
typedef struct CAL_NAME_AREA_TAG {
char cal_name[25] ; // カレンダ名格納域
} CAL_NAME_AREA ;
カレンダ名が設定されます。
カレンダ名一覧取得APIのプログラム例を以下に示します。
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#include <f3crhcap.h>
#define CAL_NUM 20
extern void put_calendar_list( CAL_LIST * ) ;
void main() {
int ret ;
CAL_LIST calendar_list ;
/* 初期化 */
memset( &calendar_list, 0x00, sizeof( CAL_LIST) ) ;
/* カレンダ名領域の獲得 */
calendar_list.pcal_name = (CAL_NAME_AREA *) malloc (sizeof (CAL_NAME_AREA) * CAL_NUM) ;
if ( calendar_list.pcal_name == NULL ) {
printf( "Lack of memory !!\n") ;
exit ( 1 ) ;
}
/* カレンダ名領域数の設定 */
calendar_list.cal_area_num = CAL_NUM ;
/* カレンダ一覧の取得 */
ret = Mp_ListCalendar( "Test Pro", &calendar_list) ;
printf( "ret= %d calendar num = %d\n", ret, calendar_list.cal_num ) ;
/* カレンダ一覧取得後の処理 */
if ( ret == 0 )
put_calendar_list( &calendar_list ) ;
/* カレンダ名領域の返却 */
free( calendar_list.pcal_name ) ;
exit ( 0 ) ;
}
目次
索引
![]()
|