mirror of
https://github.com/reactos/reactos.git
synced 2025-01-05 22:12:46 +00:00
[AUDIT]
- Add proper function headers, including links to documentation - All exported functions have publically-available information sources - The only internal function is actually quite self-explanatory by its name - Implementation is partly wrong as pointed by Gunnar svn path=/trunk/; revision=22671
This commit is contained in:
parent
de2a826959
commit
6ef4e4d9d4
1 changed files with 103 additions and 10 deletions
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* PROJECT: ReactOS Kernel
|
||||||
* PROJECT: ReactOS kernel
|
* COPYRIGHT: GPL - See COPYING in the top level directory
|
||||||
* FILE: ntoskrnl/ex/atom.c
|
* FILE: ntoskrnl/ex/atom.c
|
||||||
* PURPOSE: Executive Atom Functions
|
* PURPOSE: Executive Atom Functions
|
||||||
* PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
|
* PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
|
||||||
|
@ -28,6 +28,17 @@ PRTL_ATOM_TABLE GlobalAtomTable;
|
||||||
|
|
||||||
/* PRIVATE FUNCTIONS *********************************************************/
|
/* PRIVATE FUNCTIONS *********************************************************/
|
||||||
|
|
||||||
|
/*++
|
||||||
|
* @name ExpGetGlobalAtomTable
|
||||||
|
*
|
||||||
|
* Gets pointer to a global atom table, creates it if not already created
|
||||||
|
*
|
||||||
|
* @return Pointer to the RTL_ATOM_TABLE, or NULL if it's impossible
|
||||||
|
* to create atom table
|
||||||
|
*
|
||||||
|
* @remarks Internal function
|
||||||
|
*
|
||||||
|
*--*/
|
||||||
PRTL_ATOM_TABLE
|
PRTL_ATOM_TABLE
|
||||||
NTAPI
|
NTAPI
|
||||||
ExpGetGlobalAtomTable(VOID)
|
ExpGetGlobalAtomTable(VOID)
|
||||||
|
@ -49,9 +60,29 @@ ExpGetGlobalAtomTable(VOID)
|
||||||
|
|
||||||
/* FUNCTIONS ****************************************************************/
|
/* FUNCTIONS ****************************************************************/
|
||||||
|
|
||||||
/*
|
/*++
|
||||||
|
* @name NtAddAtom
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*
|
||||||
|
* Function NtAddAtom creates new Atom in Global Atom Table. If Atom
|
||||||
|
* with the same name already exist, internal Atom counter is incremented.
|
||||||
|
* See: http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Atoms/NtAddAtom.html
|
||||||
|
*
|
||||||
|
* @param AtomName
|
||||||
|
* Atom name in Unicode
|
||||||
|
*
|
||||||
|
* @param AtomNameLength
|
||||||
|
* Length of the atom name
|
||||||
|
*
|
||||||
|
* @param Atom
|
||||||
|
* Pointer to RTL_ATOM
|
||||||
|
*
|
||||||
|
* @return STATUS_SUCCESS in case of success, proper error code
|
||||||
|
* othwerwise.
|
||||||
|
*
|
||||||
|
* @remarks None
|
||||||
|
*
|
||||||
|
*--*/
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
NtAddAtom(IN PWSTR AtomName,
|
NtAddAtom(IN PWSTR AtomName,
|
||||||
|
@ -151,9 +182,24 @@ NtAddAtom(IN PWSTR AtomName,
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*++
|
||||||
|
* @name NtDeleteAtom
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*
|
||||||
|
* Removes Atom from Global Atom Table. If Atom's reference counter
|
||||||
|
* is greater then 1, function decrements this counter, but Atom
|
||||||
|
* stayed in Global Atom Table.
|
||||||
|
* See: http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Atoms/NtDeleteAtom.html
|
||||||
|
*
|
||||||
|
* @param Atom
|
||||||
|
* Atom identifier
|
||||||
|
*
|
||||||
|
* @return STATUS_SUCCESS in case of success, proper error code
|
||||||
|
* othwerwise.
|
||||||
|
*
|
||||||
|
* @remarks None
|
||||||
|
*
|
||||||
|
*--*/
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
NtDeleteAtom(IN RTL_ATOM Atom)
|
NtDeleteAtom(IN RTL_ATOM Atom)
|
||||||
|
@ -168,9 +214,29 @@ NtDeleteAtom(IN RTL_ATOM Atom)
|
||||||
return RtlDeleteAtomFromAtomTable(AtomTable, Atom);
|
return RtlDeleteAtomFromAtomTable(AtomTable, Atom);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*++
|
||||||
|
* @name NtFindAtom
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*
|
||||||
|
* Retrieves existing Atom's identifier without incrementing Atom's
|
||||||
|
* internal counter
|
||||||
|
* See: http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Atoms/NtFindAtom.html
|
||||||
|
*
|
||||||
|
* @param AtomName
|
||||||
|
* Atom name in Unicode
|
||||||
|
*
|
||||||
|
* @param AtomNameLength
|
||||||
|
* Length of the atom name
|
||||||
|
*
|
||||||
|
* @param Atom
|
||||||
|
* Pointer to RTL_ATOM
|
||||||
|
*
|
||||||
|
* @return STATUS_SUCCESS in case of success, proper error code
|
||||||
|
* othwerwise.
|
||||||
|
*
|
||||||
|
* @remarks None
|
||||||
|
*
|
||||||
|
*--*/
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
NtFindAtom(IN PWSTR AtomName,
|
NtFindAtom(IN PWSTR AtomName,
|
||||||
|
@ -270,9 +336,36 @@ NtFindAtom(IN PWSTR AtomName,
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*++
|
||||||
|
* @name NtQueryInformationAtom
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*
|
||||||
|
* Gets single Atom properties or reads Global Atom Table
|
||||||
|
* See: http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Atoms/NtQueryInformationAtom.html
|
||||||
|
*
|
||||||
|
* @param Atom
|
||||||
|
* Atom to query. If AtomInformationClass parameter is
|
||||||
|
* AtomTableInformation, Atom parameter is not used.
|
||||||
|
*
|
||||||
|
* @param AtomInformationClass
|
||||||
|
* See ATOM_INFORMATION_CLASS enumeration type for details
|
||||||
|
*
|
||||||
|
* @param AtomInformation
|
||||||
|
* Result of call - pointer to user's allocated buffer for data
|
||||||
|
*
|
||||||
|
* @param AtomInformationLength
|
||||||
|
* Size of AtomInformation buffer, in bytes
|
||||||
|
*
|
||||||
|
* @param ReturnLength
|
||||||
|
* Pointer to ULONG value containing required AtomInformation
|
||||||
|
* buffer size
|
||||||
|
*
|
||||||
|
* @return STATUS_SUCCESS in case of success, proper error code
|
||||||
|
* othwerwise.
|
||||||
|
*
|
||||||
|
* @remarks None
|
||||||
|
*
|
||||||
|
*--*/
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
NtQueryInformationAtom(RTL_ATOM Atom,
|
NtQueryInformationAtom(RTL_ATOM Atom,
|
||||||
|
|
Loading…
Reference in a new issue