SSブログ
[PR]本のベストセラー

Windows95APIバイブル〈1〉Win32編 (Programmer’s SELECTION) [プログラミング]

WINDOWS95のAPIについて、項目ごとに解説したもの。当時WINDOWSは16ビットから、32ビットのWINDOS95になったところで、NT3.5からNT3.51にあがるところだった。
両者の互換性についても述べている。

傾向としては、オブジェクト指向により傾斜して、データ中心のインターフェースに変化していたそうで、開発者はユーザインターフェースを再考する必要があると書いてあった。

スタイルガイドでは WINDOWSで守るべき外観の基準がこまかく決まっている。ウィンドウのスタイルや操作方法、メニュー項目、ヘルプ、インストール、アンインストール、アイコンなど。

個々の関数を使用法ごとにわけ、その解説と使い方の例があった。また付録のCD-ROMにサンプルコードが入っている。
Vol2,Vol3ではネットワーク、OLE、ODBC、マルチメディア関連について解説している

項目
16ビットの互換性

ウィンドウの作成・・・WinMain()でメインウィンドウを作成し、メッセージループを作成する。それが最初のインスタンスならRegisterClass()でウィンドウクラスを登録する。ウィンドウ作成のメッセージ、関数、コントロールの解説

ウィンドウサポート・・・アプリケーションからウィンドウの特性を変更する方法

メッセージ処理・・・WINDOWS95とNTは個々のスレッドやプロセスが専用のメッセージキューを持つ
あらゆるハードウェアイベントはメッセージを生成し、それは適当なスレッドのメッセージキューに入れられる。ある特定のスレッドに向けて送られたメッセージはそのスレッドのキューに入れられる。メッセージの実態はデータ構造

メニュー・・・ほとんどのWindowsアプリケーションではメニューで操作できるようになっている、SDKとWin32APIでは開発キットでメニューを開発できるようになっている。実際のメニューの定義はリソースファイルに書き込むことで行われる

リソース・・・メニュー、ダイアログボックス、アイコン、ビットマップなどのデータをもつところ(.RC)、必要なときだけメモリにロードされる、リソーススクリプトに書かれて、リソースコンパイラで.RES形式に変換され、実行可能ファイルのリンク時実行可能プログラムの最後にバインドされる

ダイアログボックス・・・ポップアップウィンドウと似ているが、ダイアログボックスはコントロールを定義するためにテンプレートが使われることが違う。タイプはモーダル(応答するまで同じアプリケーションの他の場所に移動できない)とモードレス(移動できる)がある

ユーザー入力関数・・・キーボードやマウスの動作をディフォルトから変更する方法

スクロールバー・・・ウィンドウのクライアント領域より大きなデータオブジェクトを表示できる。そのときスクロールバーを使う。NTと旧Windowsでは単純なスクロールバーがトラックバーとしてつかわれていたが、トラックバーコントロールがコモンコントロールとしてついて、その解説はVol2

メモリ管理・・・かつて使っていたメモリモデルやセグメントはない。メモリモデルがないのでnearとfarの区別がなくなりセグメントがなくなったのでプログラムとデータは連続したメモリに存在するので、大規模プログラムやデータブロックの取り扱いが簡単になった
Win32では各プロセスが最大4GBの仮想32ビットアドレス空間をもつ。下位2GBはユーザ使用、上位2GBはカーネル用に予約されている。
グローバルメモリとローカルメモリは区分がなくなった。グローバル共有はできなくなった。
仮想メモリはディスクをメモリとして使う機能
ヒープはヒープマネジャによって作成され小さなメモリ区分(1ページ単位)を効率よく使うのに利用できる。

グラフィックデバイスインターフェース(GDI)・・・スクリーンやプリンタをデバイスに左右されないで接続するためのインターフェース。デバイスコンテキスト(DC)を使用する

ビットマップ、アイコン、メタファイル・・・Windowsアプリケーションで使用できる画像
ビットマップは拡大縮小されることのないがぞうやテキストを含まない画像、
アイコンは小さなビットマップでウィンドウの図形的識別子として使われる
メタファイルはテキストを含めることができ、拡大縮小できる、GDIを使う

画面とプリンタへの出力・・・デバイスコンテキストを使って出力する

ペイントおよび描画・・・デバイスコンテキストはWindowsで共通にデバイスにアクセスするために使う、デバイスコンテキストはいくつかの機能グループにわかれており、そのなかにツールをもつ、このツールがブラシ、フォント、パレット、ペン、リージョン(デバイス上の特定の領域を定義する)
クリッピング領域・・・ユーザーから見える領域
無効化・・・現在有効となっていないウィンドウには描画しない

パレットとカラーマッチング・・カラーパレットをつかうことでWindowsのディフォルトでない色が表示できる
このころのコンピュータに実装されているビデオボードは1024×768の解像度で最低で256色、最高で256の3乗=16777216色が表示できる。これをビデオボードで処理するのがハードウェアパレット。これはWindowsが制御していて、各アプリケーションは問い合わせることしかできない。論理パレットで関連づけて使う。

ファイル入出力・・・従来の記憶デバイスの上にあってファイル名で表されるひと固まりのデータというほかに、名前付きパイプ、通信リソース、ディスク装置、コンソール入出力もファイルとして扱う。ただし、プロパティは違うし、一部のデバイスには制限がある。またファイルシステムとOSによっても機能が違う
ファイルハンドルを割り当てる、ファイルポインタを使って読み書きする
ファイルマッピング機能を使うとファイル内容をプロセスの仮想アドレス空間にコピーできる

クリップボード・・・Windowsでは各アプリケーション間で見た目と操作性がおなじことがもとめられる。それによってユーザーは個々のアプリの操作方法や画面を覚える必要がなくなる。こうした環境では次にアプリ間のデータやりとりが期待され、クリップボードはそれを容易にする
クリップボードにはクリップボードを実装するAPIレベルの関数やメッセージによってメモリオブジェクトが入れられる、クリップボードにアクセスできるのはクリップボードのプロトコルだけである

レジストリ・・・Win32環境の構成情報を保存するデータベース、ユーザーごとの環境を記憶したり、データとアプリケーションを関連付けたり、OLE登録、国際化、ネットワークプロトコルとバインド、プラグアンドプレイのサポートをする
REGEDITで中身をみたり変更したりできる

初期化ファイル・・・システムの構成データを保存するシーケンシャルティストファイル。拡張子INIをとる
INIファイルはセクションとキーから成る、これを読み込んだり値を保存したりする方法


システム情報・・・Win32APIが提供するシステムデータ
プロセス環境情報
ローカル時刻とシステム時刻
ロケール(通貨など地域にかんする設定)と言語サポート
これらの取得関数、操作、設定関数

文字操作とキャラクタセット・・・キャラクタセットはANSI、OEM,Unicodeなど、どれもWindowsでサポートされているが、Windows95ではANSI、NTではUnicodeがディフォルト。
キャラセット間の変換などの関数と文字列操作関数の解説

アトム・・・文字列定数と対応づけらて一意の16ビット値の構造体。よく参照する文字列などを登録することでメモリを節約できる

タイマ・・・定期的なイベントを起こしたいときに使用する、Windows95では2500以上のタイマが作成できる
タイマが使用しているのはWindowsタイムでこれは49日間稼働すると0に戻ってしまうので注意
非常に短い軌道感覚のタイマが複数作成された場合システムがタイマイベントのサービスに追われてそれ以外の処理がまったくできなくなる可能性があるので、各スレッドのキューのなかにWM_TIMERイベントは一つに制限される。パフォーマンスモニタカウンタは高精度のタイマ

プロセスおよびスレッド・・・プロセスはアプリケーションのすべてのリソースを所有するオブジェクト
スレッドはプロセス内のアドレス空間で、コード、グローバルデータ、を共用する独立した実行パス。スレッドは自分用のレジスタセット、スタック、入力機構、プライベートのメッセージキューももっている

エラー処理と例外処理・・・絶えず変化するシステム状況に耐える強靭なアプリケーションを実現するために作成した。システム障害時にアプリケーションを秩序正しく終了させるためのもの。
いちいち妥当性検査をしなくてもよいので記述が簡素化される

マルチドキュメントインターフェイス(MDI)・・・WindowsのNotePadのように一つの文書とファイルしかあつかわないものがSDI、複数の文書を同時に表示したり、同じ文書に複数の部分を表示したりする=MDI
MDIフレームウィンドウ→MDIクライアントウィンドウ→(管理)→MDI子ウィンドウ

ヘルプファイルとのインターフェース・・・状況依存ヘルプ、ヒント、トレーニングカードなどのインターフェースが提供されている

ファイルの圧縮解除とインストール・・・インストールプログラムの作り方
すでにインストールされているかや、レジストリへの登録、バージョン情報や必要なファイルの指定をなどを行える。インストールのためにファイルの圧縮解除関数もある

ダイナミックリンクライブラリ(DLL)・・・事前に作成しておいたモジュールをOSに必要に応じてとりこめる機能。Windowsも大部分がDLLでできている。
ロード時ダイナミックリンク・・・コンパイルの時点でリンクされるプロシージャ名が必要
実行時ダイナミックリンク・・・実行時にプロシージャ名を指定する
DLL内部データにアクセスできるには、そのプロセスに所属するスレッドだけ
DLL通知エントリポイント・・プロセスがDLLに接続されたり切り離されたとき、DLLに接続されているプロセスがスレッドを作成したり破棄したりした時DLLに通知を出す機能


Windows95APIバイブル〈1〉Win32編 (Programmer’s SELECTION)

Windows95APIバイブル〈1〉Win32編 (Programmer’s SELECTION)

  • 作者: リチャード・J. サイモン
  • 出版社/メーカー: 翔泳社
  • 発売日: 1996/11
  • メディア: 単行本



nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

[PR]Kindle ストア ベストセラー

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。