UnregisterClass

The UnregisterClass function removes a window class, freeing the memory required for the class.

BOOL UnregisterClass(
  LPCTSTR lpClassName,  // address of class name string
  HINSTANCE hInstance   // handle of application instance
);
 

Parameters

lpClassName
Pointer to a null-terminated string or is an integer atom. If lpClassName is a string, it specifies the window class name. This class name must have been registered by a previous call to the RegisterClassEx function. System classes, such as dialog box controls, cannot be unregistered.

If this parameter is an integer atom, it must be a global atom created by a previous call to the RegisterClassEx function. The atom, a 16-bit value less than 0xC000, must be in the low-order word of lpClassName; the high-order word must be zero.

hInstance
Handle to the instance of the module that created the class.

Return Values

If the function succeeds, the return value is nonzero.

If the class could not be found or if a window still exists that was created with the class, the return value is zero. To get extended error information, call GetLastError.

Remarks

Before calling this function, an application must destroy all windows created with the specified class.

All window classes that an application registers are unregistered when it terminates.

Windows 95: All window classes registered by a DLL are unregistered when the DLL is unloaded.

Windows NT: No window classes registered by a DLL registers are unregistered when the DLL is unloaded.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Window Classes Overview, Window Class Functions, RegisterClassEx