57 lines
2 KiB
C++
57 lines
2 KiB
C++
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1996 - 1999
|
|
//
|
|
// File: SIPObjSS.hxx
|
|
//
|
|
// Contents: Microsoft SIP Provider - Structured Storage
|
|
//
|
|
// History: 07-Aug-1997 pberkman created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#ifndef SIPOBJSS_HXX
|
|
#define SIPOBJSS_HXX
|
|
|
|
#include "sipobj.hxx"
|
|
|
|
class SIPObjectSS_ : public SIPObject_
|
|
{
|
|
public:
|
|
SIPObjectSS_(DWORD id);
|
|
virtual ~SIPObjectSS_(void);
|
|
|
|
BOOL RemoveSignedDataMsg(SIP_SUBJECTINFO *pSI,DWORD dwIdx);
|
|
|
|
char *GetDataObjectID(void) { return(SPC_SIGINFO_OBJID); }
|
|
char *GetDataOIDHint(void) { return((char *)SPC_SIGINFO_STRUCT); }
|
|
|
|
protected:
|
|
void *GetMyStructure(SIP_SUBJECTINFO *pSI) { return(&SpcSigInfo); }
|
|
DWORD GetMyStructureSize(void) { return(sizeof(SPC_SIGINFO)); }
|
|
|
|
BOOL PutMessageInFile(SIP_SUBJECTINFO *pSI,
|
|
WIN_CERTIFICATE *pWinCert,DWORD *pdwIndex);
|
|
BOOL GetMessageFromFile(SIP_SUBJECTINFO *pSI,
|
|
WIN_CERTIFICATE *pWinCert,DWORD dwIndex,
|
|
DWORD *pcbCert);
|
|
BOOL GetDigestStream(DIGEST_DATA *pDigestData,
|
|
DIGEST_FUNCTION pfnCallBack, DWORD dwFlags);
|
|
|
|
BOOL FileHandleFromSubject(SIP_SUBJECTINFO *pSubject,
|
|
DWORD dwAccess = GENERIC_READ,
|
|
DWORD dwShared = FILE_SHARE_READ);
|
|
|
|
private:
|
|
IStorage *pTopStg;
|
|
SPC_SIGINFO SpcSigInfo;
|
|
|
|
BOOL IStorageDigest(IStorage *pStg, DIGEST_DATA *pDigestData, DIGEST_FUNCTION pfnCallBack);
|
|
void FreeElements(DWORD *pcStg, STATSTG **ppStg);
|
|
BOOL SortElements(IStorage *pStg, DWORD *pcSortStg, STATSTG **ppSortStg);
|
|
};
|
|
|
|
#endif // SIPOBJSS_HXX
|