diff options
Diffstat (limited to 'private/utils/regedit/inc/regedval.hxx')
-rw-r--r-- | private/utils/regedit/inc/regedval.hxx | 389 |
1 files changed, 389 insertions, 0 deletions
diff --git a/private/utils/regedit/inc/regedval.hxx b/private/utils/regedit/inc/regedval.hxx new file mode 100644 index 000000000..b969ed3b1 --- /dev/null +++ b/private/utils/regedit/inc/regedval.hxx @@ -0,0 +1,389 @@ +/*++ + +Copyright (c) 1991 Microsoft Corporation + +Module Name: + + regedval.hxx + +Abstract: + + + This module contains the declarations for the REGEDIT_FORMATTED_VALUE_ENTRY + class. + This class models a value entry of a registry key, and contains a + formatted string to be displayed in the data view of regedit. + It contains: + + -a REGISTRY_VALUE_ENTRY object + -a formatted string to be displayed in regedit's data view + + Note: This class could be derived from REGISTRY_KEY_INFO, but in this + case the initialzation of the araray of values in the + REGEDIT_INTERNAL_REGISTRY would be much slower. + +Author: + + Jaime Sasson (jaimes) 03-Mar-1992 + + +Environment: + + + Ulib, Regedit, User Mode + +--*/ + + +#if !defined( _REGEDIT_FORMATTED_VALUE_ENTRY_ ) + +#define _REGEDIT_FORMATTED_VALUE_ENTRY_ + +#include "ulib.hxx" +#include "regvalue.hxx" + + +#define MAX_BUFFER 2048 + +DECLARE_CLASS( REGEDIT_FORMATTED_VALUE_ENTRY ); + + + +class REGEDIT_FORMATTED_VALUE_ENTRY : public OBJECT { + + FRIEND class REGEDIT_INTERNAL_REGISTRY; + + public: + + DECLARE_CONSTRUCTOR( REGEDIT_FORMATTED_VALUE_ENTRY ); + + DECLARE_CAST_MEMBER_FUNCTION( REGEDIT_FORMATTED_VALUE_ENTRY ); + + + + VIRTUAL + ~REGEDIT_FORMATTED_VALUE_ENTRY( + ); + + NONVIRTUAL + BOOLEAN + Initialize( + IN PREGISTRY_VALUE_ENTRY RegistryValueEntry + ); + + VIRTUAL + LONG + Compare( + IN PCOBJECT Node + ) CONST; + + NONVIRTUAL + ULONG + GetData( + OUT PCBYTE* Data + ) CONST; + + NONVIRTUAL + PCWSTRING + GetFormattedString( + ) CONST; + + NONVIRTUAL + PCWSTRING + GetName( + ) CONST; + + NONVIRTUAL + ULONG + GetTitleIndex( + ) CONST; + + + NONVIRTUAL + REG_TYPE + GetType( + ) CONST; +/* + NONVIRTUAL + PCREGISTRY_VALUE_ENTRY + GetRegistryValueEntry( + ) CONST; +*/ + +#if DBG + NONVIRTUAL + VOID + DbgPrintFormattedValueEntry( + ); +#endif + + NONVIRTUAL // This method should be private + BOOLEAN // It is public for debgug only. + FormatString( + ); + + + + private: + + + NONVIRTUAL + VOID + Construct( + ); + + NONVIRTUAL + VOID + Destroy( + ); + + NONVIRTUAL + PWSTRING + FormatBinaryData( + IN PCBYTE Data, + IN ULONG Size + ); + + NONVIRTUAL // Used by REGEDIT_INTERNAL_REGISTRY only + PREGISTRY_VALUE_ENTRY + GetValueEntry( + ) CONST; + + + PREGISTRY_VALUE_ENTRY _ValueEntry; + + DSTRING _FormattedString; + + STATIC + PWSTRING _RegNoneString; + + STATIC + PWSTRING _RegSzString; + + STATIC + PWSTRING _RegExpandSzString; + + STATIC + PWSTRING _RegBinaryString; + + STATIC + PWSTRING _RegDwordString; + + STATIC + PWSTRING _RegMultiSzString; + + STATIC + PWSTRING _RegResourceListString; + + STATIC + PWSTRING _RegFullResourceDescriptorString; + + STATIC + PWSTRING _RegIoRequirementsListString; + + STATIC + PWSTRING _RegTypeUnknownString; + + STATIC + PWSTRING _Separator; + + STATIC + PWSTRING _NoNameString; + + STATIC + PWSTRING _InvalidDataString; + + STATIC + BOOLEAN _StringsInitialized; + +}; + + + +INLINE +ULONG +REGEDIT_FORMATTED_VALUE_ENTRY::GetData( + OUT PCBYTE* Data + ) CONST + +/*++ + +Routine Description: + + Return the buffer that contains the data stored in the value entry. + + +Arguments: + + Data - Variable that will contain the pointer to the buffer that + contains the data. + +Return Value: + + ULONG - Number of bytes in the buffer (Data size) + + +--*/ + + +{ + DebugPtrAssert( Data ); + + return( _ValueEntry->GetData( Data ) ); +} + + + + +INLINE +PCWSTRING +REGEDIT_FORMATTED_VALUE_ENTRY::GetFormattedString( + ) CONST + +/*++ + +Routine Description: + + Return the pointer to a WSTRING object that contains a formatted string + that represents the information in a value entry. + + +Arguments: + + None. + +Return Value: + + PCWSTRING - The formatted string to be displayed in regedit's data view. + + +--*/ + + +{ + return( &_FormattedString ); +} + + + +INLINE +PCWSTRING +REGEDIT_FORMATTED_VALUE_ENTRY::GetName( + ) CONST + +/*++ + +Routine Description: + + Return a pointer to a WSTRING object that contains the value name. + +Arguments: + + None. + +Return Value: + + The value name. + + +--*/ + + +{ + return( _ValueEntry->GetName() ); +} + + + +INLINE +ULONG +REGEDIT_FORMATTED_VALUE_ENTRY::GetTitleIndex( + ) CONST + +/*++ + +Routine Description: + + Return the title index of this value. + + +Arguments: + + None. + +Return Value: + + ULONG - The title index. + + +--*/ + + +{ + return( _ValueEntry->GetTitleIndex() ); +} + + + +INLINE +REG_TYPE +REGEDIT_FORMATTED_VALUE_ENTRY::GetType( + ) CONST + +/*++ + +Routine Description: + + Return the type of data stored in this object. + + +Arguments: + + None. + +Return Value: + + REG_TYPE - The data type. + + +--*/ + + +{ + return( _ValueEntry->GetType() ); +} + + + +INLINE +PREGISTRY_VALUE_ENTRY +REGEDIT_FORMATTED_VALUE_ENTRY::GetValueEntry( + ) CONST + +/*++ + +Routine Description: + + Return the pointer to the REGISTRY_VALUE_ENTRY object stored in this object. + + +Arguments: + + None. + +Return Value: + + PREGISTRY_VALUE_ENTRY - Pointer to the REGISTRY_VALUE_ENTRY object. + + +--*/ + + +{ + return( _ValueEntry ); +} + + + + +#endif // _REGEDIT_FORMATTED_VALUE_ENTRY_ |