次の方法で共有


CPL_NEWINQUIRE メッセージ

アプリケーションがサポートするダイアログ ボックスに関する情報を要求するために、コントロール パネル アプリケーションの CPlApplet 関数に送信されます。

パラメーター

uAppNum

ダイアログ ボックス番号。 この数値は、CPL_GETCOUNT メッセージ ( CPL_GETCOUNT – 1) に応答して返される値より 1 未満の範囲である必要があります。

lpncpli

NEWCPLINFO 構造体のアドレス。 コントロール パネル アプリケーションでは、この構造体にダイアログ ボックスに関する情報を入力する必要があります。

戻り値

CPlApplet 関数がこのメッセージを正常に処理すると、0 が返されます。

解説

パフォーマンスを向上させるには、ほとんどのアプリケーションで CPL_NEWINQUIRE を無視し、代わりに CPL_INQUIRE メッセージを処理する必要があります。

コントロール パネルは、アプリケーションでサポートされているダイアログ ボックスごとに、CPL_NEWINQUIRE メッセージを 1 回送信します。 コントロール パネルは、各ダイアログ ボックスに対してCPL_INQUIRE メッセージも送信します。 これらのメッセージは、CPL_GETCOUNT メッセージの直後 送信されます。 ただし、CPL_INQUIREメッセージとCPL_NEWINQUIREメッセージの送信順序は保証されません。

ダイアログ ボックスの初期化は、 CPL_INQUIREを受け取ったときに実行できます。 メモリを割り当てる必要がある場合は、 CPL_INIT メッセージに応答して割り当てます。

CPL_INQUIRE が優先されるメッセージです。 これは、 CPL_NEWINQUIRE は、システムがキャッシュできない形式で情報を返すからです。 そのため、コントロール パネルが情報を必要とするたびに、CPL_NEWINQUIRE処理するアプリケーションを読み込む必要があり、その結果、パフォーマンスが大幅に低下します。

CPL_NEWINQUIREを使用する必要がある唯一のアプリケーションは、コンピューターの状態に基づいてアイコンを変更したり、文字列を表示したりする必要があるアプリケーションです。 この場合、CPL_INQUIRE ハンドラーでは、有効なリソース識別子を指定するのではなく、CPLINFO 構造体の idIconidName、または idInfo メンバーのCPL_DYNAMIC_RES値を指定する必要があります。 これにより、アイコンと表示文字列が必要になるたびにコントロール パネルがCPL_NEWINQUIRE メッセージを送信し、コンピューターの現在の状態に基づいて情報を指定できるようになります。 もちろん、これはキャッシュされた情報を使用するよりも大幅に遅くなります。

要件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Cpl.h