ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

NTSTATUS NTAPI RtlQueryAtomListInAtomTable ( IN PRTL_ATOM_TABLE  AtomTable,
IN ULONG  MaxAtomCount,
OUT ULONG AtomCount,
OUT RTL_ATOM AtomList 
)

Definition at line 696 of file atom.c.

Referenced by NtQueryInformationAtom().

{
   PRTL_ATOM_TABLE_ENTRY *CurrentBucket, *LastBucket;
   PRTL_ATOM_TABLE_ENTRY CurrentEntry;
   ULONG Atoms = 0;
   NTSTATUS Status = STATUS_SUCCESS;

   RtlpLockAtomTable(AtomTable);

   LastBucket = AtomTable->Buckets + AtomTable->NumberOfBuckets;
   for (CurrentBucket = AtomTable->Buckets;
        CurrentBucket != LastBucket;
        CurrentBucket++)
     {
        CurrentEntry = *CurrentBucket;

        while (CurrentEntry != NULL)
          {
             if (MaxAtomCount > 0)
               {
                  *(AtomList++) = (RTL_ATOM)CurrentEntry->Atom;
                  MaxAtomCount--;
               }
             else
               {
                  /* buffer too small, but don't bail. we need to determine the
                     total number of atoms in the table! */
                  Status = STATUS_INFO_LENGTH_MISMATCH;
               }

             Atoms++;
             CurrentEntry = CurrentEntry->HashLink;
          }
     }

   *AtomCount = Atoms;

   RtlpUnlockAtomTable(AtomTable);

   return Status;
}

Generated on Sun May 27 2012 06:04:53 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.