70 lines
2.1 KiB
C++
70 lines
2.1 KiB
C++
/****************************************************************************/
|
|
// valinfo.cpp
|
|
//
|
|
// Copyright (C) 1997-1999 Microsoft Corp.
|
|
/****************************************************************************/
|
|
|
|
#ifndef _TS_APP_SMP_VAL_INFO_
|
|
#define _TS_APP_SMP_VAL_INFO_
|
|
|
|
#include <stdio.h>
|
|
|
|
#include "KeyNode.h"
|
|
|
|
|
|
class ValueFullInfo
|
|
{
|
|
public:
|
|
ValueFullInfo( KeyNode *pKey );
|
|
|
|
~ValueFullInfo();
|
|
|
|
ULONG Size() { return size ; }
|
|
KEY_VALUE_FULL_INFORMATION *Ptr() { return pInfo; }
|
|
KEY_VALUE_INFORMATION_CLASS Type() { return KeyValueFullInformation; }
|
|
NTSTATUS Status() { return status; }
|
|
|
|
PCWSTR SzName();
|
|
|
|
NTSTATUS Query( PCWSTR pValueName );
|
|
NTSTATUS Delete( PCWSTR pValueName );
|
|
NTSTATUS Create( ValueFullInfo *pNew );
|
|
|
|
|
|
BOOLEAN Compare( ValueFullInfo *pOther ); // compare self to other,
|
|
// TRUE mean the two values are the same.
|
|
|
|
void Print( FILE *fp); // for debug dump
|
|
private:
|
|
ULONG size;
|
|
KEY_VALUE_FULL_INFORMATION *pInfo;
|
|
ULONG status;
|
|
PWSTR pSzName;
|
|
KeyNode *pKeyNode;
|
|
};
|
|
|
|
|
|
class ValuePartialInfo
|
|
{
|
|
public:
|
|
ValuePartialInfo( KeyNode *pKey , ULONG defaultSize=0);
|
|
|
|
~ValuePartialInfo();
|
|
|
|
ULONG Size() { return size ; }
|
|
KEY_VALUE_PARTIAL_INFORMATION *Ptr() { return pInfo; }
|
|
KEY_VALUE_INFORMATION_CLASS Type() { return KeyValuePartialInformation; }
|
|
NTSTATUS Status() { return status; }
|
|
|
|
NTSTATUS Query( PCWSTR pValueName );
|
|
NTSTATUS Delete( PCWSTR pValueName );
|
|
|
|
private:
|
|
ULONG size;
|
|
KEY_VALUE_PARTIAL_INFORMATION *pInfo;
|
|
ULONG status;
|
|
KeyNode *pKeyNode;
|
|
};
|
|
|
|
#endif
|