NetScheduleJobAddの使用方法 – プログラミング – Home

通知
すべてクリア

[解決済] NetScheduleJobAddの使用方法


m&m
 m&m
(@m&m)
ゲスト
結合: 21年前
投稿: 3
Topic starter  

ユーザー名、パスワード設定なしでタスクを登録するためにNetScheduleJobAdd
を使用したいのですが、戻り値が
87 The parameter is incorrect. ERROR_INVALID_PARAMETER
です。何が悪いのでしょうか。

#include lmcons.h
#include Lmat.h
#include Lm.h

int i;
char cBuf[_MAX_PATH];
DWORD id;
WCHAR lBuf[_MAX_PATH];
unsigned char aaa;

aaa = '\0';
strcpy(cBuf,c:\\AAA.EXE);

AT_INFO sAt;
sAt.JobTime = (DWORD)(1*3600+11*60)*1000;
sAt.DaysOfMonth = (DWORD)0;
sAt.DaysOfWeek = aaa;
sAt.Flags = JOB_RUN_PERIODICALLY;

i = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, cBuf, strlen(cBuf),
lBuf, sizeof(WCHAR)*_MAX_PATH);
sAt.Command = lBuf;

i = NetScheduleJobAdd((LPCWSTR)NULL, (LPBYTE)&sAt, (LPDWORD)&id);


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> sAt.Flags = JOB_RUN_PERIODICALLY;
定期的に実行すると言いつつ、

> sAt.DaysOfMonth = (DWORD)0;
> sAt.DaysOfWeek = aaa;
実行する月日が全て0です。

どのようなスケジュールにしたいのでしょう?


返信引用
m&m
 m&m
(@m&m)
ゲスト
結合: 21年前
投稿: 3
Topic starter  

とりあえず毎日1時11分です。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

毎日と言うことでしたら、全部のビットを1にしておけば良いのでは。


返信引用
m&m
 m&m
(@m&m)
ゲスト
結合: 21年前
投稿: 3
Topic starter  

解決しました。
DaysOfMonthとDaysOfWeekはいろいろ変えてやってみたのですが、
戻り値は87のままでした。
根本原因はMultiByteToWideCharで変換後の変数の文字列が\0で
終端されてないことでした。第4引数を-1にしたら直りました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました