/win32/shellext/ShellExt.h

https://bitbucket.org/tortoisehg/hgtk/ · C Header · 31 lines · 23 code · 8 blank · 0 comment · 0 complexity · 0f0dda5bcd9bde9f844d23ad78c9d498 MD5 · raw file

  1. #ifndef _SHELL_EXT_H_
  2. #define _SHELL_EXT_H_
  3. class CShellExt
  4. {
  5. public:
  6. static LPCRITICAL_SECTION GetCriticalSection();
  7. static void IncDllRef();
  8. static void DecDllRef();
  9. };
  10. class ThgCriticalSection
  11. {
  12. LPCRITICAL_SECTION cs_;
  13. public:
  14. ThgCriticalSection(LPCRITICAL_SECTION cs): cs_(cs)
  15. {
  16. ::EnterCriticalSection(cs_);
  17. }
  18. ~ThgCriticalSection()
  19. {
  20. ::LeaveCriticalSection(cs_);
  21. }
  22. };
  23. #endif // _SHELL_EXT_H_