summaryrefslogtreecommitdiffstats
path: root/private/utils/regedit/inc/regedval.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'private/utils/regedit/inc/regedval.hxx')
-rw-r--r--private/utils/regedit/inc/regedval.hxx389
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_