2008-02-01から1ヶ月間の記事一覧

Win32 File-ID APIs

Windows Vista/2008からは、File IDによるファイル処理が標準で実装されている。これは、NTFSとかでGetFileInformationByHandleを使って取得できるBY_HANDLE_FILE_INFORMATION::nFileIndex*と同じもの。ファイルIDがわかっていれば、IDとドライブ識別のため…

今の今までCreateProcessの第2引数の意味を勘違いしていた

今まで、 CreateProcess("hoge.exe", "arg1", ...); は、 argv[0] = "hoge.exe" argv[1] = "arg1" となると信じていて疑わなかったけど、実は、 argv[0] = "arg1" となることを今知り、愕然としました! 結局、UNIX系のプロセス開始システムコールとあまり変…

Windows Installerを汎用DBとして使えないか?

実際にやるとかやらないとかじゃなくて、Windows Installerが最近のPCならばほぼ間違いなくインストールされているという現状を考えると、これを汎用DBとして使えないかと考えても悪くないよねって話になる。というか、この実装はフルスクラッチなのか、それ…

Windows Installer(MSI)をSQLでたたく

コードがVBScriptなのは、MSDNのサンプルがほとんどそうだったから。既存のMSIにカスタムアクションを追加する程度ならそんなに難しくないはずでしたが、実はかなり面倒でした。この技法が有効なのは、Visual Studio Installerで作成したインストーラに簡単…