本ページは公開が終了したページの複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。

[SDK16] グループファイル形式に関する記述の誤り

PWJ2035 - 95/10

この資料は以下の製品について記述したものです。

  

概要

この資料は Windows SDK 3.1「プログラマーズリファレンス Vol.4 リソース」の第 6 章「グループファイル形式」の記述の誤りについて説明したものです。

  

詳細

Windows SDK 3.1「プログラマーズリファレンス Vol.4 リソース」の第 6 章「グループファイル形式」では幾つかの誤りがあります。

  

1. 「5.1 グループファイルの構成」

カラーデータを含むエントリはグループファイル内には含まれません。3 つめのパラグラフに「項目データの後にはアプリケーション用のカラーデータを含むエントリが続きます。」とありますが、アプリケーションアイコンはシステムカラーのみを使用します。

  

2. 「5.2.1 グループファイルヘッダー」メンバの型

マニュアルには以下のように GROUPHEADER 構造体の内容が記述されていますがメンバに一部誤りがあります。


==
struct tagGROUPHEADER {
char cIdentifier[4];
WORD wCheckSum;
WORD cbGroup;
WORD nCmdShow;
RECT rcNormal;
POINT ptMin;
WORD pName;
WORD wLogPixelsX;
WORD wLogPixelsY;
WORD wBitsPerPixel;
WORD wPlanes;
WORD cItems;
WORD rgiItems[cItems];
};


==
struct tagGROUPHEADER {
char cIdentifier[4];
WORD wCheckSum;
WORD cbGroup;
WORD nCmdShow;
RECT rcNormal;
POINT ptMin;
WORD pName;
WORD wLogPixelsX;
WORD wLogPixelsY;
BYTE bBitsPerPixel; //WORD -> BYTE
BYTE bPlanes; //WORD -> BYTE
WORD wReserved; // Should be 0x0000
WORD cItems;
WORD rgiItems[cItems];
}

3. 「5.2.1 グループファイルヘッダー」cbGroup の説明

GROUPHEADER の cbGroup メンバは Windows 3.0 では タグデータを含まないグループファイルのサイズです。Windows 3.1 では cbGroup はタグデータへのオフセットを示します。

  

4. 「5.2.1 グループファイルヘッダー」rgiItems[cItems] の説明

GROUPHEADER の rgiItems[cItems] の説明は ITEMDATA 構造体へのオフセットの配列が正しい内容です。

  

==
rgiItems[cItems] ITEMDATA 構造体の配列を示します。


==
rgiItems[cItems] ITEMDATA 構造体へのオフセットの配列を示します。

5. 「5.2.2 項目データ」pHeader の説明

ITEMDATA の pHeader メンバは説明ではアイコン用のリソースヘッダのオフセットを示すとありますが、これはリソースヘッダのオフセットではなく次の構造体データへのオフセットを示します。

  
struct {
int xHotSpot; // Should be 0
int yHotSpot; // Should be 0
int cx; // Icon width
int cy; // Icon height
int cbWidth; // Bytes per row accounting
// for WORD alignment
BYTE bPlanes; // Count of planes
BYTE bBitsPixel; // Bits per pixel
}

6. 「5.2.3 タグデータ」wID の説明

最後のタグデータの wID メンバには最後のデータであることを示す値 0xffff が含まれます。

  

その他

(C)1995 Microsoft Corporation. All rights reserved.

マイクロソフト株式会社 テクニカル サポート


UP
UP
Home
HOMEPAGE
inserted by FC2 system