- - PR -
GUI登録されたタスクの編集
投稿者 | 投稿内容 | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-08-12 23:26
えーと、手元では試せないので結局推測だけになってしまって申し訳ないですが。
示されたコードにいくつか疑わしいところがあるのでその辺を。
どうせ関数そのものがNT系限定ですからこれでも構わないんですが、AutoよりUnicodeの方が良いと思います。
&はLongを表すサフィクスですから、この場合はIntegerを表すサフィクス%またはIが良いですね。 というか型を付ければ基本的にサフィクスは不要ですから、As句を付けて Private Const MAX_PREF_LEN As Integer = -1 とか書いた方が良いでしょう。
NetScheduleJobEnumが使用するのはAT_ENUM構造体ですよ? まあメンバはAT_ENUMのものになってるようですけど。 で、Longがまだ残ってますね。DWORDにせよDWORD_PTRにせよIntegerです。 またこのdummyってメンバは一体? それからこの構造体にもSystem.Runtime.InteropServices.StructLayoutAttribute属性を付けて、LayoutKind.SequentialとCharSet.Unicodeを指定した方が良いでしょう。
この辺もLongが残っちゃってますねー。
MSDNによれば、
//会議室の仕様でバックスラッシュの数が変になってますが、2つです。 [追記] //って本書きでは正しく表示されるー。プレビューじゃ4つになってたのにー。
VB.NETにはOrElseキーワードが追加されています。 このキーワードを使えばlngApi = NERR_SuccessがTrueの時点でThen節に入り、後者の条件判断を省略できます。 もちろんlngApi = NERR_SuccessがFalseの場合はlngApiResult = ERROR_MORE_DATAが判断されます。
サンプルにあった i が残っちゃってます。ここではlngEntryですね。 数行前のDim i As Integerも不要です。
ええと、PtrToStructureメソッドでぬるりが発生してるんですね? 多分ですが、AT_INFO(AT_ENUM)構造体の定義がおかしいせいでCommandメンバに正しい文字列のポインタが当てられず例外が発生してるんだと思います。 AT_INFO(AT_ENUM)構造体を正しく定義してみて下さい。 余談: Integerの変数に対してlngプリフィクスは違和感が強いです [ メッセージ編集済み 編集者: Hongliang 編集日時 2005-08-12 23:30 ] | ||||||||||||||||||||||||||||||||||||||||
|
投稿日時: 2005-08-13 09:35
あ、あと忘れてましたが。
とのことですので、処理を終了したらきっちりバッファを解放してあげて下さいね。 //うーん、あとで完全版コードに書き直しておくべきか。 |