SHGetFolderPathEx と 拡張カーネル
Windows 2000 Kernel32 改造計画【BM】
拡張カーネル v2.2d をリリースしました。
comctl32 6.0.2900.6029 もダウンロードできるようにしました
ターゲットのフォルダにコピーして使います。
(例: notepad++、uTorrent)
追加した関数
kernel32
FindNLSString
user32
IsProcessDPIAware
shell32
SHGetFolderPathEx
後、v2.2~2.2cのパッケージでmfc関連のNT5系列版がインストールできない問題があったので修正しました。
この、SHGetFolderPathEx なんですが調べてみると、未実装とか、使われていないとかありますが、Vistaのアクセサリなどで呼び出されています。
SHGetKnownFolderPath | 上弦乃月
[mfc 52322] Re: SHGetFolderPathEx は使えますか? - mfc-ml
一応、内部的にどうなってるか解析してみました。
HRESULT WINAPI SHGetFolderPathEx
(REFKNOWNFOLDERID rfid, DWORD dwFlags, HANDLE hToken, LPWSTR pszPath, DWORD pccPath)
これが関数定義です。
dwFlags については、 KNOWN_FOLDER_FLAG が使われてるのですが、
KF_FLAG_NOT_PARENT_RELATIVE と KF_FLAG_DEFAULT_PATH しか意味を持っていません。
SHGetFolderPathとの関数の並びも違っていますし、実質SHGetKnownFolderPath の下位劣化版関数という感じでした。
Comments