すみません、質問です。
コールバック関数からグローバル変数呼ぶと
グローバル変数が0になるようで、
「なんちゃらが0x00000000を参照しますた。"read"出来るかヴォケ」
と怒られてしまいます。

具体的には
LPDIRECTDRAW7 lpDDraw7;
をグローバル変数として、
WM_PAINTがきたら描画用関数を呼び、
その描画用関数内でlpDDraw7->CreateSurface()
とやりたいのですが、lpDDraw7が0なんでエラー、ということになります。

ループ直前までは、グローバル変数は意図した数値を保持しているようなのですが
(if文で「0ならダイアログ吐かせる」としたもののなんともなし)。

コールバック関数内でグローバル変数を使うにはどうすりゃいいんでしょう。
誠に申し訳ありませんが、何卒ご教授願いたく申し上げます。

構成はXP SP1、VC++6、DirectX9、Celeron1.2A、
Radeon9000、512Mメインメモリ、となっております。