Source code of Windows XP (NT5)
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.

56 lines
2.0 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1996 - 1999
  6. //
  7. // File: SIPObjSS.hxx
  8. //
  9. // Contents: Microsoft SIP Provider - Structured Storage
  10. //
  11. // History: 07-Aug-1997 pberkman created
  12. //
  13. //--------------------------------------------------------------------------
  14. #ifndef SIPOBJSS_HXX
  15. #define SIPOBJSS_HXX
  16. #include "sipobj.hxx"
  17. class SIPObjectSS_ : public SIPObject_
  18. {
  19. public:
  20. SIPObjectSS_(DWORD id);
  21. virtual ~SIPObjectSS_(void);
  22. BOOL RemoveSignedDataMsg(SIP_SUBJECTINFO *pSI,DWORD dwIdx);
  23. char *GetDataObjectID(void) { return(SPC_SIGINFO_OBJID); }
  24. char *GetDataOIDHint(void) { return((char *)SPC_SIGINFO_STRUCT); }
  25. protected:
  26. void *GetMyStructure(SIP_SUBJECTINFO *pSI) { return(&SpcSigInfo); }
  27. DWORD GetMyStructureSize(void) { return(sizeof(SPC_SIGINFO)); }
  28. BOOL PutMessageInFile(SIP_SUBJECTINFO *pSI,
  29. WIN_CERTIFICATE *pWinCert,DWORD *pdwIndex);
  30. BOOL GetMessageFromFile(SIP_SUBJECTINFO *pSI,
  31. WIN_CERTIFICATE *pWinCert,DWORD dwIndex,
  32. DWORD *pcbCert);
  33. BOOL GetDigestStream(DIGEST_DATA *pDigestData,
  34. DIGEST_FUNCTION pfnCallBack, DWORD dwFlags);
  35. BOOL FileHandleFromSubject(SIP_SUBJECTINFO *pSubject,
  36. DWORD dwAccess = GENERIC_READ,
  37. DWORD dwShared = FILE_SHARE_READ);
  38. private:
  39. IStorage *pTopStg;
  40. SPC_SIGINFO SpcSigInfo;
  41. BOOL IStorageDigest(IStorage *pStg, DIGEST_DATA *pDigestData, DIGEST_FUNCTION pfnCallBack);
  42. void FreeElements(DWORD *pcStg, STATSTG **ppStg);
  43. BOOL SortElements(IStorage *pStg, DWORD *pcSortStg, STATSTG **ppSortStg);
  44. };
  45. #endif // SIPOBJSS_HXX