KbMedia Player の plugin.dat の中身

[id:autch:20040818] の記事のバイナリ表記がいまいちなので C++ の構造体に書き換え。

// C++ の構造体のつもりなので typedef 不要

#pragma pack(push, 1)

struct SKbPluginDat
{
  DWORD dwReserved1;
  DWORD dwReserved2;
  DWORD dwReserved3;
  DWORD dwReserved4;
  SKbPluginDatEntry[] entries;         // SKbPluginDatEntry の可変長配列。
};

struct SKbPluginDatEntry
{
  FILETIME ftLastWritten;              // GetFileTime(hFile, NULL, NULL, &ftLastWritten);
  DWORD dwPluginVersion;               // KMPMODULE::dwVersion
  BOOL dwUseThisPlugin;                // このプラグインを使うか?
  CHAR[] szPluginPath;                 // \0 終端文字列。可変長。
  CSTR[] szExtensions;                 // \0 終端文字列の配列。可変長。
                                       // 最後にもう一個 \0 で終端。
};