mirror of https://github.com/tongzx/nt5src
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
1.6 KiB
75 lines
1.6 KiB
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1991 - 1992.
|
|
//
|
|
// File: RCSTRMHD.CXX
|
|
//
|
|
// Contents: Header information for the Recoverable Storage Object.
|
|
//
|
|
// Classes: CRcovStorageHdr
|
|
//
|
|
//
|
|
// History: 07-Feb-1994 SrikantS Created
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#include <pch.cxx>
|
|
#pragma hdrstop
|
|
|
|
#include <rcstrmhd.hxx>
|
|
|
|
void CRcovStorageHdr::Init(ULONG ulVer)
|
|
{
|
|
Win4Assert( FIELD_OFFSET( CRcovStorageHdr, _version ) == 0 );
|
|
_version = ulVer;
|
|
_flags = 0;
|
|
_iPrimary = idxOne;
|
|
_opCurr = opNone;
|
|
_sigHdr1 = SIGHDR1;
|
|
_sigHdr2 = SIGHDR2;
|
|
|
|
memset( &_ahdrStrm, 0, sizeof(_ahdrStrm) );
|
|
memset( &_ahdrUser, 0, sizeof(_ahdrUser) );
|
|
|
|
Win4Assert( IsValid(ulVer) );
|
|
}
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Function: IsValid
|
|
//
|
|
// Synopsis: Checks the validity of the header data.
|
|
//
|
|
// History: 12-12-94 srikants Created
|
|
//
|
|
// Notes:
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
BOOL CRcovStorageHdr::IsValid(ULONG ulExpectedVer) const
|
|
{
|
|
if ( ulExpectedVer != _version)
|
|
{
|
|
return FALSE;
|
|
}
|
|
|
|
if ((SIGHDR1 != _sigHdr1) || (SIGHDR2 != _sigHdr2))
|
|
{
|
|
return FALSE;
|
|
}
|
|
|
|
if ( _iPrimary != idxOne && _iPrimary != idxTwo )
|
|
{
|
|
return FALSE;
|
|
}
|
|
|
|
if ( _opCurr < opNone || _opCurr > opDirty )
|
|
{
|
|
return FALSE;
|
|
}
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
|