class_docstr: `MSDN on where to store app data files
  <http://support.microsoft.com/default.aspx?scid=kb;en-us;310294#XSLTH3194121123120121120120>`_.
  Makes use of the
  `appname <platformdirs.api.PlatformDirsABC.appname>`,
  `appauthor <platformdirs.api.PlatformDirsABC.appauthor>`,
  `version <platformdirs.api.PlatformDirsABC.version>`,
  `roaming <platformdirs.api.PlatformDirsABC.roaming>`,
  `opinion <platformdirs.api.PlatformDirsABC.opinion>`.
docstr: :return: data directory shared by users, e.g. ``C:\ProgramData\$appauthor\$appname``
docstr_tok: [":","return",":","data","directory","shared","by","users",",","e.g",".","``","C",":","\\ProgramData\\","$","appauthor\\","$","appname","``"]
code: def site_data_dir(self) -> str:
      """:return: data directory shared by users, e.g. ``C:\\ProgramData\\$appauthor\\$appname``"""
      path = os.path.normpath(get_win_folder("CSIDL_COMMON_APPDATA"))
      return self._append_parts(path)
  
imports: from __future__ import annotations
  import ctypes
  import os
  import sys
  from functools import lru_cache
  from typing import Callable
  from .api import PlatformDirsABC
label_desc: Use image node_id 3 for calling the Windows obj's underlying member method code with example usage: obj.site_data_dir() and returns: self