2009-01-01から1年間の記事一覧

SDカードから失われた動画を復旧する

ffmpeg で -i オプションにワイルドカードを使ったらSDカード内のAVIがごっそり0バイトになって焦った。ここは本気を出さねばならない。selfImageで、メディアまるごとのバイナリイメージを取って、以下のコードを実行し、「"RIFF"から始まるファイル」に分…

substとショートカットの怪しい関係

substでドライブ作る 出来たドライブへのショートカットを作る subst /dでドライブを消す さっき作ったショートカットのリンク先がいつの間にか変わる。 きもーい。

PathMatchSpecの挙動

Windows上でワイルドカードを処理するAPIがPathMatchSpecである。 http://msdn.microsoft.com/en-us/library/bb773727(VS.85).aspx しかしここに載っているサンプルがあまりにもセンスが悪い。ということでテストコードを書いた。コードは後述。結果は以下。…

WM_GETDLGCODE無限ループ:2

d:id:kuboon:20090901 なんだかいろんな人がいろんなことを言っているが、 http://www.tech-archive.net/Archive/InetSDK/microsoft.public.inetsdk.programming.webbrowser_ctl/2006-06/msg00038.html に載っていたコードが実装しやすそうだったので入れて…

WM_GETDLGCODE無限ループ

IWebBrowserを乗っけたダイアログ上でJavaAppletを開き、アプレット上のUIをいじっているとメインスレッドがフリーズ。 なんだろうと思ってブレークをかけてみると、ダイアログの子要素に対してWM_GETDLGCODEがものすごい勢いで投げまくられている状態。で、…

R/Wロックをテーブルで管理する

DB

あるファイルシステムがロック機構を有していないので、RDB上でロック状態のみを管理することを考える。 超教科書的に考えると、以下の2テーブルを定義すればOK. *は主キー。 Read Lock Table pk* path userId Write Lock Table path* userId Read Lockは複…

LVIS_DROPHILITED?

HILIGHTED だろJK.

MSXMLで文字列をインポートする方法

loadXMLを使うと encoding が期待通り処理されない。 以下のようにする。 VARIANT var; { SAFEARRAYBOUND rgb={strlen(xml),0}; //末尾にNULL文字つけちゃだめ SAFEARRAY* psa = SafeArrayCreate(VT_UI1,1, &rgb); if(!psa){ assert(false); return false; }…

WM_GETDLGCODE無限ループ

IWebBrowserを乗っけたダイアログ上でTextFieldを含んだJavaAppletを開き、そのあたりをいじっているとメインスレッドがフリーズ。 なんだろうと思ってブレークをかけてみると、ダイアログの子要素に対してWM_GETDLGCODEがものすごい勢いで投げまくられてい…

JobObject の壁

複数のプロセスをまとめて管理する仕組みとしてJobObjectというものがある。 http://msdn.microsoft.com/en-us/library/ms684161(VS.85).aspx POSIX準拠の仕組みらしく、古くはapacheのようなヤツがいくつかのプロセスを立ち上げて堅牢性を向上させていたり…