Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.4 KiB

  1. #ifndef _INC_SIGS_H
  2. #define _INC_SIGS_H
  3. #include <imnact.h>
  4. #define SIG_ID 1
  5. #define SIG_NAME 2
  6. #define SIG_FILE 3
  7. #define SIG_TEXT 4
  8. #define SIG_TYPE 5
  9. #define MAXSIGTEXT 1024
  10. #define MAXSIGNAME 32
  11. #define MAXSIGID CCHMAX_SIGNATURE
  12. typedef struct tagSIGBUCKET
  13. {
  14. char szID[MAXSIGID];
  15. IOptionBucket *pBckt;
  16. } SIGBUCKET;
  17. class CSignatureManager
  18. {
  19. public:
  20. // ----------------------------------------------------------------------------
  21. // Construction
  22. // ----------------------------------------------------------------------------
  23. CSignatureManager(HKEY hkey, LPCSTR pszRegKeyRoot);
  24. ~CSignatureManager(void);
  25. ULONG AddRef(void);
  26. ULONG Release(void);
  27. // -------------------------------------------------------------------
  28. // CSignatureManager Members
  29. // -------------------------------------------------------------------
  30. HRESULT GetSignature(LPCSTR szID, IOptionBucket **ppBckt);
  31. HRESULT GetSignatureCount(int *pcSig);
  32. HRESULT EnumSignatures(int index, IOptionBucket **ppBckt);
  33. HRESULT CreateSignature(IOptionBucket **ppBckt);
  34. HRESULT DeleteSignature(LPCSTR szID);
  35. HRESULT GetDefaultSignature(LPSTR pszID, DWORD cchSize);
  36. HRESULT SetDefaultSignature(LPCSTR pszID);
  37. private:
  38. LONG m_cRef;
  39. BOOL m_fInit;
  40. HKEY m_hkey;
  41. char m_szRegRoot[MAX_PATH];
  42. char m_szDefSigID[MAXSIGID];
  43. SIGBUCKET *m_pBckt;
  44. int m_cBckt;
  45. int m_cBcktBuf;
  46. HRESULT Initialize(void);
  47. HRESULT GetBucket(SIGBUCKET *pSigBckt);
  48. };
  49. extern CSignatureManager *g_pSigMgr;
  50. HRESULT InitSignatureManager(HKEY hkey, LPCSTR szRegRoot);
  51. HRESULT DeinitSignatureManager(void);
  52. INT_PTR CALLBACK SigDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
  53. HRESULT FillSignatureMenu(HMENU hmenu, LPCSTR szAcct);
  54. HRESULT GetSigFromCmd(int id, char * pszID, DWORD cchSize);
  55. HRESULT InitSigPopupMenu(HMENU hmenu, LPCSTR szAcct);
  56. void DeinitSigPopupMenu(HWND hwnd);
  57. #endif // _INC_SIGS_H