かなり初歩的な事だと思うのですが質問さしてくださ
例えば,ウィンドウクラス登録で下の関数を使うとして

ATOM 関数名(HINSTANCE hInst)のhInst には WinMainのhCurInstを入れ

ATOM 関数名(HINSTANCE hInst){
    WNDCLASSEX wc;
    wc.cbSize = (UINT)sizeof(WNDCLASSEX);
        ・
        ・
    wc.hInstance = hInst;
        ・
        ・
    return (RegisterClassEx(&wc));
}
で、RegisterClassEx()の戻り値がATOMなので
分かるのですが、他にも自作関数でATOMを使う
場合があるのでしょうか
ヘッダを見ると
typedef unsigned short WORD;
typedef WORD ATOM;
となってますが、利点というか、この時にATOM型を使う
という区別は、返す値の型に依存することになるのでしょうか
あと、ATOM型で変数を宣言するなんて事はあるんでしょうか
HICON型やHCURSOR型や(HBRUSH型などは
なんとなく理解できてるつもりですが、ATOM型に関しては
わからないけど使ってるという状態で
どなたか説明して頂けないでしょうか。
お願いします。