Attempt to make Cm API at least a little const-correct.

svn path=/trunk/; revision=29621
This commit is contained in:
Mike Nordell 2007-10-16 05:39:47 +00:00
parent cd4cf62e99
commit 51c353fab2
11 changed files with 49 additions and 38 deletions

View file

@ -211,7 +211,7 @@ HvInitialize(
PFILE_WRITE_ROUTINE FileWrite, PFILE_WRITE_ROUTINE FileWrite,
PFILE_SET_SIZE_ROUTINE FileSetSize, PFILE_SET_SIZE_ROUTINE FileSetSize,
PFILE_FLUSH_ROUTINE FileFlush, PFILE_FLUSH_ROUTINE FileFlush,
IN PUNICODE_STRING FileName); IN CONST UNICODE_STRING* FileName);
VOID CMAPI VOID CMAPI
HvFree( HvFree(

View file

@ -440,7 +440,7 @@ HvInitialize(
PFILE_WRITE_ROUTINE FileWrite, PFILE_WRITE_ROUTINE FileWrite,
PFILE_SET_SIZE_ROUTINE FileSetSize, PFILE_SET_SIZE_ROUTINE FileSetSize,
PFILE_FLUSH_ROUTINE FileFlush, PFILE_FLUSH_ROUTINE FileFlush,
IN PUNICODE_STRING FileName) IN CONST UNICODE_STRING* FileName)
{ {
NTSTATUS Status; NTSTATUS Status;
PHHIVE Hive = RegistryHive; PHHIVE Hive = RegistryHive;

View file

@ -169,13 +169,13 @@ CmiAddKeyToList(IN PKEY_OBJECT ParentKey,
NTSTATUS NTSTATUS
CmiScanKeyList(IN PKEY_OBJECT Parent, CmiScanKeyList(IN PKEY_OBJECT Parent,
IN PUNICODE_STRING KeyName, IN CONST UNICODE_STRING* KeyName,
IN ULONG Attributes, IN ULONG Attributes,
PKEY_OBJECT* ReturnedObject); PKEY_OBJECT* ReturnedObject);
NTSTATUS NTSTATUS
CmiLoadHive(POBJECT_ATTRIBUTES KeyObjectAttributes, CmiLoadHive(POBJECT_ATTRIBUTES KeyObjectAttributes,
PUNICODE_STRING FileName, CONST UNICODE_STRING* FileName,
ULONG Flags); ULONG Flags);
NTSTATUS NTSTATUS
@ -200,7 +200,7 @@ CmiScanForSubKey(IN PEREGISTRY_HIVE RegistryHive,
IN PCM_KEY_NODE KeyCell, IN PCM_KEY_NODE KeyCell,
OUT PCM_KEY_NODE *SubKeyCell, OUT PCM_KEY_NODE *SubKeyCell,
OUT HCELL_INDEX *BlockOffset, OUT HCELL_INDEX *BlockOffset,
IN PUNICODE_STRING KeyName, IN CONST UNICODE_STRING* KeyName,
IN ACCESS_MASK DesiredAccess, IN ACCESS_MASK DesiredAccess,
IN ULONG Attributes); IN ULONG Attributes);
@ -317,12 +317,14 @@ CmpFindValueByName(
IN PUNICODE_STRING Name IN PUNICODE_STRING Name
); );
/* NOTE: This function declaration is currently duplicated in both */
/* cm/cm.h and config/cm.h. TODO: Pick one single place to declare it. */
HCELL_INDEX HCELL_INDEX
NTAPI NTAPI
CmpFindSubKeyByName( CmpFindSubKeyByName(
IN PHHIVE Hive, IN PHHIVE Hive,
IN PCM_KEY_NODE Parent, IN PCM_KEY_NODE Parent,
IN PUNICODE_STRING SearchName IN CONST UNICODE_STRING* SearchName
); );
VOID VOID
@ -340,10 +342,12 @@ CmFindObject(
IN PVOID ParseContext IN PVOID ParseContext
); );
/* NOTE: This function declaration is currently duplicated in both */
/* cm/cm.h and config/cm.h. TODO: Pick one single place to declare it. */
NTSTATUS NTSTATUS
NTAPI NTAPI
CmpOpenHiveFiles(IN PUNICODE_STRING BaseName, CmpOpenHiveFiles(IN CONST UNICODE_STRING* BaseName,
IN PWCHAR Extension OPTIONAL, IN PCWSTR Extension OPTIONAL,
IN PHANDLE Primary, IN PHANDLE Primary,
IN PHANDLE Log, IN PHANDLE Log,
IN PULONG PrimaryDisposition, IN PULONG PrimaryDisposition,
@ -355,7 +359,7 @@ CmpOpenHiveFiles(IN PUNICODE_STRING BaseName,
NTSTATUS NTSTATUS
NTAPI NTAPI
CmpInitHiveFromFile(IN PUNICODE_STRING HiveName, CmpInitHiveFromFile(IN CONST UNICODE_STRING* HiveName,
IN ULONG HiveFlags, IN ULONG HiveFlags,
OUT PEREGISTRY_HIVE *Hive, OUT PEREGISTRY_HIVE *Hive,
IN OUT PBOOLEAN New, IN OUT PBOOLEAN New,

View file

@ -24,7 +24,7 @@
NTSTATUS NTSTATUS
CmiLoadHive(IN POBJECT_ATTRIBUTES KeyObjectAttributes, CmiLoadHive(IN POBJECT_ATTRIBUTES KeyObjectAttributes,
IN PUNICODE_STRING FileName, IN CONST UNICODE_STRING* FileName,
IN ULONG Flags) IN ULONG Flags)
{ {
PEREGISTRY_HIVE Hive = NULL; PEREGISTRY_HIVE Hive = NULL;
@ -280,7 +280,7 @@ CmiScanForSubKey(IN PEREGISTRY_HIVE RegistryHive,
IN PCM_KEY_NODE KeyCell, IN PCM_KEY_NODE KeyCell,
OUT PCM_KEY_NODE *SubKeyCell, OUT PCM_KEY_NODE *SubKeyCell,
OUT HCELL_INDEX *BlockOffset, OUT HCELL_INDEX *BlockOffset,
IN PUNICODE_STRING KeyName, IN CONST UNICODE_STRING* KeyName,
IN ACCESS_MASK DesiredAccess, IN ACCESS_MASK DesiredAccess,
IN ULONG Attributes) IN ULONG Attributes)
{ {

View file

@ -753,9 +753,10 @@ CmiAddKeyToList(PKEY_OBJECT ParentKey,
NewKey->ParentKey = ParentKey; NewKey->ParentKey = ParentKey;
} }
/* Preconditions: Must be called with CmpRegistryLock held. */
NTSTATUS NTSTATUS
CmiScanKeyList(PKEY_OBJECT Parent, CmiScanKeyList(PKEY_OBJECT Parent,
PUNICODE_STRING KeyName, CONST UNICODE_STRING* KeyName,
ULONG Attributes, ULONG Attributes,
PKEY_OBJECT* ReturnedObject) PKEY_OBJECT* ReturnedObject)
{ {
@ -766,6 +767,7 @@ CmiScanKeyList(PKEY_OBJECT Parent,
KeyName, &Parent->Name); KeyName, &Parent->Name);
/* FIXME: if list maintained in alphabetic order, use dichotomic search */ /* FIXME: if list maintained in alphabetic order, use dichotomic search */
/* (a binary search) */
for (Index=0; Index < Parent->SubKeyCounts; Index++) for (Index=0; Index < Parent->SubKeyCounts; Index++)
{ {
CurKey = Parent->SubKeys[Index]; CurKey = Parent->SubKeys[Index];

View file

@ -762,7 +762,7 @@ VALUE_SEARCH_RETURN_TYPE
NTAPI NTAPI
CmpFindValueByNameFromCache( CmpFindValueByNameFromCache(
IN PKEY_OBJECT KeyObject, IN PKEY_OBJECT KeyObject,
IN PUNICODE_STRING Name, IN CONST UNICODE_STRING* Name,
OUT PCM_CACHED_VALUE **CachedValue, OUT PCM_CACHED_VALUE **CachedValue,
OUT ULONG *Index, OUT ULONG *Index,
OUT PCM_KEY_VALUE *Value, OUT PCM_KEY_VALUE *Value,
@ -929,11 +929,11 @@ CmpInitializeHive(
IN ULONG Operation, IN ULONG Operation,
IN ULONG Flags, IN ULONG Flags,
IN ULONG FileType, IN ULONG FileType,
IN PVOID HiveData, IN PVOID HiveData OPTIONAL,
IN HANDLE Primary, IN HANDLE Primary,
IN HANDLE Log, IN HANDLE Log,
IN HANDLE External, IN HANDLE External,
IN PUNICODE_STRING FileName, IN CONST UNICODE_STRING* FileName OPTIONAL,
IN ULONG CheckFlags IN ULONG CheckFlags
); );
@ -953,11 +953,13 @@ CmpLinkHiveToMaster(
IN PSECURITY_DESCRIPTOR SecurityDescriptor IN PSECURITY_DESCRIPTOR SecurityDescriptor
); );
/* NOTE: This function declaration is currently duplicated in both */
/* cm/cm.h and config/cm.h. TODO: Pick one single place to declare it. */
NTSTATUS NTSTATUS
NTAPI NTAPI
CmpOpenHiveFiles( CmpOpenHiveFiles(
IN PUNICODE_STRING BaseName, IN CONST UNICODE_STRING* BaseName,
IN PWCHAR Extension OPTIONAL, IN PCWSTR Extension OPTIONAL,
IN PHANDLE Primary, IN PHANDLE Primary,
IN PHANDLE Log, IN PHANDLE Log,
IN PULONG PrimaryDisposition, IN PULONG PrimaryDisposition,
@ -1047,7 +1049,7 @@ CmpFreeKeyByCell(
LONG LONG
NTAPI NTAPI
CmpCompareCompressedName( CmpCompareCompressedName(
IN PUNICODE_STRING SearchName, IN CONST UNICODE_STRING* SearchName,
IN PWCHAR CompressedName, IN PWCHAR CompressedName,
IN ULONG NameLength IN ULONG NameLength
); );
@ -1116,12 +1118,15 @@ CmpFlushEntireRegistry(
// //
// Cell Index Routines // Cell Index Routines
// //
/* NOTE: This function declaration is currently duplicated in both */
/* cm/cm.h and config/cm.h. TODO: Pick one single place to declare it. */
HCELL_INDEX HCELL_INDEX
NTAPI NTAPI
CmpFindSubKeyByName( CmpFindSubKeyByName(
IN PHHIVE Hive, IN PHHIVE Hive,
IN PCM_KEY_NODE Parent, IN PCM_KEY_NODE Parent,
IN PUNICODE_STRING SearchName IN CONST UNICODE_STRING* SearchName
); );
HCELL_INDEX HCELL_INDEX
@ -1136,7 +1141,7 @@ ULONG
NTAPI NTAPI
CmpComputeHashKey( CmpComputeHashKey(
IN ULONG Hash, IN ULONG Hash,
IN PUNICODE_STRING Name, IN CONST UNICODE_STRING* Name,
IN BOOLEAN AllowSeparators IN BOOLEAN AllowSeparators
); );

View file

@ -27,10 +27,10 @@ ULONG CmpMaxIndexPerHblock =
/* FUNCTIONS *****************************************************************/ /* FUNCTIONS *****************************************************************/
LONG static LONG
NTAPI NTAPI
CmpDoCompareKeyName(IN PHHIVE Hive, CmpDoCompareKeyName(IN PHHIVE Hive,
IN PUNICODE_STRING SearchName, IN CONST UNICODE_STRING* SearchName,
IN HCELL_INDEX Cell) IN HCELL_INDEX Cell)
{ {
PCM_KEY_NODE Node; PCM_KEY_NODE Node;
@ -63,10 +63,10 @@ CmpDoCompareKeyName(IN PHHIVE Hive,
return (Result == 0) ? Result : ((Result > 0) ? 1 : -1); return (Result == 0) ? Result : ((Result > 0) ? 1 : -1);
} }
LONG static LONG
NTAPI NTAPI
CmpCompareInIndex(IN PHHIVE Hive, CmpCompareInIndex(IN PHHIVE Hive,
IN PUNICODE_STRING SearchName, IN CONST UNICODE_STRING* SearchName,
IN ULONG Count, IN ULONG Count,
IN PCM_KEY_INDEX Index, IN PCM_KEY_INDEX Index,
IN PHCELL_INDEX SubKey) IN PHCELL_INDEX SubKey)
@ -139,11 +139,11 @@ CmpCompareInIndex(IN PHHIVE Hive,
return Result; return Result;
} }
ULONG static ULONG
NTAPI NTAPI
CmpFindSubKeyInRoot(IN PHHIVE Hive, CmpFindSubKeyInRoot(IN PHHIVE Hive,
IN PCM_KEY_INDEX Index, IN PCM_KEY_INDEX Index,
IN PUNICODE_STRING SearchName, IN CONST UNICODE_STRING* SearchName,
IN PHCELL_INDEX SubKey) IN PHCELL_INDEX SubKey)
{ {
ULONG High, Low = 0, i, ReturnIndex; ULONG High, Low = 0, i, ReturnIndex;
@ -355,11 +355,11 @@ Return:
return ReturnIndex; return ReturnIndex;
} }
ULONG static ULONG
NTAPI NTAPI
CmpFindSubKeyInLeaf(IN PHHIVE Hive, CmpFindSubKeyInLeaf(IN PHHIVE Hive,
IN PCM_KEY_INDEX Index, IN PCM_KEY_INDEX Index,
IN PUNICODE_STRING SearchName, IN CONST UNICODE_STRING* SearchName,
IN PHCELL_INDEX SubKey) IN PHCELL_INDEX SubKey)
{ {
ULONG High, Low = 0, i; ULONG High, Low = 0, i;
@ -473,7 +473,7 @@ CmpFindSubKeyInLeaf(IN PHHIVE Hive,
ULONG ULONG
NTAPI NTAPI
CmpComputeHashKey(IN ULONG Hash, CmpComputeHashKey(IN ULONG Hash,
IN PUNICODE_STRING Name, IN CONST UNICODE_STRING* Name,
IN BOOLEAN AllowSeparators) IN BOOLEAN AllowSeparators)
{ {
LPWSTR Cp; LPWSTR Cp;
@ -657,11 +657,11 @@ CmpFindSubKeyByNumber(IN PHHIVE Hive,
return HCELL_NIL; return HCELL_NIL;
} }
HCELL_INDEX static HCELL_INDEX
NTAPI NTAPI
CmpFindSubKeyByHash(IN PHHIVE Hive, CmpFindSubKeyByHash(IN PHHIVE Hive,
IN PCM_KEY_FAST_INDEX FastIndex, IN PCM_KEY_FAST_INDEX FastIndex,
IN PUNICODE_STRING SearchName) IN CONST UNICODE_STRING* SearchName)
{ {
ULONG HashKey, i; ULONG HashKey, i;
PCM_INDEX FastEntry; PCM_INDEX FastEntry;
@ -698,7 +698,7 @@ HCELL_INDEX
NTAPI NTAPI
CmpFindSubKeyByName(IN PHHIVE Hive, CmpFindSubKeyByName(IN PHHIVE Hive,
IN PCM_KEY_NODE Parent, IN PCM_KEY_NODE Parent,
IN PUNICODE_STRING SearchName) IN CONST UNICODE_STRING* SearchName)
{ {
ULONG i; ULONG i;
PCM_KEY_INDEX IndexRoot; PCM_KEY_INDEX IndexRoot;

View file

@ -25,7 +25,7 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive,
IN HANDLE Primary, IN HANDLE Primary,
IN HANDLE Log, IN HANDLE Log,
IN HANDLE External, IN HANDLE External,
IN PUNICODE_STRING FileName OPTIONAL, IN CONST UNICODE_STRING* FileName OPTIONAL,
IN ULONG CheckFlags) IN ULONG CheckFlags)
{ {
#if 0 #if 0
@ -240,8 +240,8 @@ CmpInitializeHive(OUT PCMHIVE *RegistryHive,
NTSTATUS NTSTATUS
NTAPI NTAPI
CmpOpenHiveFiles(IN PUNICODE_STRING BaseName, CmpOpenHiveFiles(IN CONST UNICODE_STRING* BaseName,
IN PWCHAR Extension OPTIONAL, IN PCWSTR Extension OPTIONAL,
IN PHANDLE Primary, IN PHANDLE Primary,
IN PHANDLE Log, IN PHANDLE Log,
IN PULONG PrimaryDisposition, IN PULONG PrimaryDisposition,

View file

@ -107,7 +107,7 @@ CmpCompressedNameSize(IN PWCHAR Name,
LONG LONG
NTAPI NTAPI
CmpCompareCompressedName(IN PUNICODE_STRING SearchName, CmpCompareCompressedName(IN CONST UNICODE_STRING* SearchName,
IN PWCHAR CompressedName, IN PWCHAR CompressedName,
IN ULONG NameLength) IN ULONG NameLength)
{ {

View file

@ -22,7 +22,7 @@ BOOLEAN HvShutdownComplete;
NTSTATUS NTSTATUS
NTAPI NTAPI
CmpInitHiveFromFile(IN PUNICODE_STRING HiveName, CmpInitHiveFromFile(IN CONST UNICODE_STRING* HiveName,
IN ULONG HiveFlags, IN ULONG HiveFlags,
OUT PCMHIVE *Hive, OUT PCMHIVE *Hive,
IN OUT PBOOLEAN New, IN OUT PBOOLEAN New,

View file

@ -186,7 +186,7 @@ CmpGetValueDataFromCache(IN PKEY_OBJECT KeyObject,
VALUE_SEARCH_RETURN_TYPE VALUE_SEARCH_RETURN_TYPE
NTAPI NTAPI
CmpFindValueByNameFromCache(IN PKEY_OBJECT KeyObject, CmpFindValueByNameFromCache(IN PKEY_OBJECT KeyObject,
IN PUNICODE_STRING Name, IN CONST UNICODE_STRING* Name,
OUT PCM_CACHED_VALUE **CachedValue, OUT PCM_CACHED_VALUE **CachedValue,
OUT ULONG *Index, OUT ULONG *Index,
OUT PCM_KEY_VALUE *Value, OUT PCM_KEY_VALUE *Value,