2010/8/22:本掲示板は閲覧専用です。データが一部破損しておりますがご了承ください。
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
42 / 332 ツリー ←次へ | 前へ→

CrystalDiskInfo 報告ツリー (3.0 以降) ひよひよ 09/8/23(日) 22:05

Re:マルチユーザー時のスタートアップ HGST使い 09/11/18(水) 21:25
Re:マルチユーザー時のスタートアップ ひよひよ 09/11/18(水) 21:57
Re:マルチユーザー時のスタートアップ HGST使い 09/11/18(水) 23:33
Re:マルチユーザー時のスタートアップ ひよひよ 09/11/18(水) 23:41

Re:マルチユーザー時のスタートアップ
←back ↑menu ↑top forward→
 HGST使い  - 09/11/18(水) 21:25 -

引用なし
パスワード
   お久しぶりです。

▼ひよひよさん:
>> 皆様
>単純にタスクスケジューラへの登録方法だけだと思うので、対策方法をご存知でしたら教えてください。

ファイルの排他処理を考えないとSMARTログの破損という危険性があります。
本格的にやろうとすると結構面倒な事になりそうな気がします。
# それこそVer4か5になっても良い様な気が。

#define PRODUCT_NAME _T("CrystalDiskInfo")

#define PRODUCT_NAME _T("Global\\CrystalDiskInfo")
に変更して、現在実行中のWindows全体で1個の物を作成。
CreateMutexであるよと帰ってくるならログファイルへの書き出しを停止とかでしょうか?
もちろん、終了時に開放しないようにしないとダメです。

後は終了した直後ロック周りを考えないとやはりログが壊れますが・・・
# 3つあって書き出した最初の1つが終了した瞬間に2つが競合するといった具合

別の場所にインストールして、インストールパスでMutex作成という力技もアリですかね?
MAX_PATHの260文字制限を考えるとちぃと不味いのですが。

Re:マルチユーザー時のスタートアップ
←back ↑menu ↑top forward→
 ひよひよ  - 09/11/18(水) 21:57 -

引用なし
パスワード
   ▼HGST使いさん:
>お久しぶりです。
いつもありがとうございます。

>▼ひよひよさん:
>>> 皆様
>>単純にタスクスケジューラへの登録方法だけだと思うので、対策方法をご存知でしたら教えてください。
順番にログオン(同時にログオンすることはない)を前提に考えておりました。

>ファイルの排他処理を考えないとSMARTログの破損という危険性があります。
>本格的にやろうとすると結構面倒な事になりそうな気がします。
># それこそVer4か5になっても良い様な気が。
これはもちろんそうなりますね。

>#define PRODUCT_NAME _T("CrystalDiskInfo")
>を
>#define PRODUCT_NAME _T("Global\\CrystalDiskInfo")
>に変更して、現在実行中のWindows全体で1個の物を作成。
なるほど!!
実は、同時に複数ユーザーがログオンしている状態でもそれぞれが CrystalDiskInfo を起動できることに(今更ながら)気が付きましてどうしたものか・・・と思っておりました。Global じゃなきゃいかんかったのですね。

>CreateMutexであるよと帰ってくるならログファイルへの書き出しを停止とかでしょうか?
>もちろん、終了時に開放しないようにしないとダメです。
>
>後は終了した直後ロック周りを考えないとやはりログが壊れますが・・・
># 3つあって書き出した最初の1つが終了した瞬間に2つが競合するといった具合
>
>別の場所にインストールして、インストールパスでMutex作成という力技もアリですかね?
>MAX_PATHの260文字制限を考えるとちぃと不味いのですが。
え〜と、難しいことはいろいろあるんで、とりあえずシステムで 1 プロセスしか生成できないように Global Mutex を使う方向で次のリリースで修正させていただきます。

複数ユーザーが交互に利用する(同時に利用することはない)という場合には何とか対応したいものですが……

Re:マルチユーザー時のスタートアップ
←back ↑menu ↑top forward→
 HGST使い  - 09/11/18(水) 23:33 -

引用なし
パスワード
   ▼ひよひよさん:
>>#define PRODUCT_NAME _T("CrystalDiskInfo")
>>を
>>#define PRODUCT_NAME _T("Global\\CrystalDiskInfo")
>>に変更して、現在実行中のWindows全体で1個の物を作成。
>なるほど!!
>実は、同時に複数ユーザーがログオンしている状態でもそれぞれが CrystalDiskInfo を起動できることに(今更ながら)気が付きましてどうしたものか・・・と思っておりました。Global じゃなきゃいかんかったのですね。

今更ですけど、PRODUCT_NAME変更しちゃうと、タイトルバーまで変わっちゃいますねorz
ちなみに Global\\ を使っちゃうと2k以降のみになります。
# 2kでターミナルサーバーで同時ログイン可能になったための拡張だったりする。
詳細は http://msdn.microsoft.com/ja-jp/library/cc429064.aspx を。

>複数ユーザーが交互に利用する(同時に利用することはない)という場合には何とか対応したいものですが……

タスクスケジューラーがどうなってたか確認してみますー


あと、今更ですが、起動時のサーバー使用中はこれで解決できませんかね?
MFC側が出してるっぽいのですけど。
http://support.microsoft.com/kb/248019/ja
http://msdn.microsoft.com/ja-jp/library/4f799h96.aspx
http://msdn.microsoft.com/ja-jp/library/9et69h3a.aspx

でわ

Re:マルチユーザー時のスタートアップ
←back ↑menu ↑top forward→
 ひよひよ  - 09/11/18(水) 23:41 -

引用なし
パスワード
   ▼HGST使いさん:
>▼ひよひよさん:
>>>#define PRODUCT_NAME _T("CrystalDiskInfo")
>>>を
>>>#define PRODUCT_NAME _T("Global\\CrystalDiskInfo")
>>>に変更して、現在実行中のWindows全体で1個の物を作成。
>>なるほど!!
>>実は、同時に複数ユーザーがログオンしている状態でもそれぞれが CrystalDiskInfo を起動できることに(今更ながら)気が付きましてどうしたものか・・・と思っておりました。Global じゃなきゃいかんかったのですね。
>
>今更ですけど、PRODUCT_NAME変更しちゃうと、タイトルバーまで変わっちゃいますねorz
あっ、もちろんそこは対処しますw

>ちなみに Global\\ を使っちゃうと2k以降のみになります。
># 2kでターミナルサーバーで同時ログイン可能になったための拡張だったりする。
>詳細は http://msdn.microsoft.com/ja-jp/library/cc429064.aspx を。
ほぉほぉ。でも大丈夫です。VC9 移行に伴い、

>>複数ユーザーが交互に利用する(同時に利用することはない)という場合には何とか対応したいものですが……
>
>タスクスケジューラーがどうなってたか確認してみますー
64bit さんの追記
http://crystalmark.info/bbs/c-board.cgi?cmd=one;no=3309;id=report#3309

これでいけそうかな〜と思っています。

>あと、今更ですが、起動時のサーバー使用中はこれで解決できませんかね?
>MFC側が出してるっぽいのですけど。
>http://support.microsoft.com/kb/248019/ja
>http://msdn.microsoft.com/ja-jp/library/4f799h96.aspx
>http://msdn.microsoft.com/ja-jp/library/9et69h3a.aspx
おぉ〜〜神よ〜〜〜
ありがとうございます。色々調べても全然わからなかったのですが・・・

にしても、最近の悩みは HGST使いさん に解決してもらってばかりですね。
ホントいつも感謝しております m(_ _)m

42 / 332 ツリー ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
ページ:  ┃  記事番号:   
101872
(SS)C-BOARD v3.8(とほほ改ver2.1) is Free