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.
86 lines
1.6 KiB
86 lines
1.6 KiB
/*++
|
|
|
|
Copyright (c) 2001 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
vs_sku.h
|
|
|
|
Abstract:
|
|
|
|
CVssDLList definition
|
|
|
|
Author:
|
|
|
|
Stefan Steiner [ssteiner] 5/01/2001
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef __VSS_SKU_HXX__
|
|
#define __VSS_SKU_HXX__
|
|
|
|
//
|
|
// This class only has static member. No class instances are allowed
|
|
//
|
|
class CVssSKU
|
|
{
|
|
public:
|
|
enum EVssSKUType
|
|
{
|
|
VSS_SKU_INVALID = 0x00,
|
|
VSS_SKU_CLIENT = 0x01, // XP Personal, XP Professional
|
|
VSS_SKU_SERVER = 0x02, // Whistler Server, Advanced Server, Data Center
|
|
VSS_SKU_NAS = 0x04 // Whistler NAS (embedded)
|
|
};
|
|
|
|
inline static EVssSKUType GetSKU()
|
|
{
|
|
if ( !ms_bInitialized )
|
|
Initialize();
|
|
return ms_eSKU;
|
|
};
|
|
|
|
static BOOL IsClient()
|
|
{
|
|
if ( !ms_bInitialized )
|
|
Initialize();
|
|
return ( ms_eSKU == VSS_SKU_CLIENT );
|
|
};
|
|
|
|
static BOOL IsServer()
|
|
{
|
|
if ( !ms_bInitialized )
|
|
Initialize();
|
|
return ( ms_eSKU == VSS_SKU_SERVER );
|
|
};
|
|
|
|
static BOOL IsNAS()
|
|
{
|
|
if ( !ms_bInitialized )
|
|
Initialize();
|
|
return ( ms_eSKU == VSS_SKU_NAS );
|
|
};
|
|
|
|
static BOOL IsTransportableAllowed()
|
|
{
|
|
if ( !ms_bInitialized )
|
|
Initialize();
|
|
return ( ms_bTransportableShadowsAllowed );
|
|
};
|
|
|
|
private:
|
|
CVssSKU();
|
|
static VOID Initialize();
|
|
|
|
static BOOL ms_bInitialized;
|
|
static EVssSKUType ms_eSKU;
|
|
|
|
static BOOL ms_bTransportableShadowsAllowed;
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|