UnregisterClassA 関数 (winuser.h)

ウィンドウ クラスの登録を解除し、 クラスに必要なメモリを解放します。

構文

BOOL UnregisterClassA(
  [in]           LPCSTR    lpClassName,
  [in, optional] HINSTANCE hInstance
);

パラメーター

[in] lpClassName

型: LPCTSTR

null で終わる文字列またはクラスアトム。 lpClassName が文字列の場合は、ウィンドウ クラス名を指定します。 このクラス名は、 RegisterClass 関数または RegisterClassEx 関数の以前の呼び出しによって 登録 されている必要があります。 ダイアログ ボックス コントロールなどのシステム クラスを登録解除することはできません。 このパラメーターが atom の場合は、RegisterClass 関数または RegisterClassEx 関数の前の呼び出しによって作成されたクラス atom である必要があります。 atom は lpClassName の下位ワードに含まれている必要があります。高次語は 0 である必要があります。

[in, optional] hInstance

種類: HINSTANCE

クラスを作成したモジュールのインスタンスへのハンドル。

戻り値

種類: BOOL

関数が成功すると、戻り値は 0 以外になります。

クラスが見つからない場合、または クラスで作成されたウィンドウがまだ存在する場合、戻り値は 0 です。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

この関数を呼び出す前に、アプリケーションは、指定したクラスで作成されたすべてのウィンドウを破棄する必要があります。

アプリケーションが登録するすべてのウィンドウ クラスは、終了すると登録解除されます。

クラス原子は、 RegisterClass および RegisterClassEx によってのみ返される特殊な原子 です

.dll がアンロードされると、DLL によって登録されたウィンドウ クラスは登録解除されません。

注意

winuser.h ヘッダーは UnregisterClass をエイリアスとして定義します。これは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-windowclass-l1-1-0 (Windows 8 で導入)

関連項目

概念

リファレンス

RegisterClass

RegisterClassEx

ウィンドウ クラス