RtlNextUnicodePrefix - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _NTRTL_H

NTSYSAPI
PUNICODE_PREFIX_TABLE_ENTRY
NTAPI
RtlNextUnicodePrefix(
    _In_ PUNICODE_PREFIX_TABLE PrefixTable,
    _In_ BOOLEAN Restart
    );

#endif

View code on GitHub
// ntifs.h

NTSYSAPI PUNICODE_PREFIX_TABLE_ENTRY RtlNextUnicodePrefix(
  [in] PUNICODE_PREFIX_TABLE PrefixTable,
  [in] BOOLEAN               Restart
);
View the official Windows Driver Kit DDI reference

NtDoc

This function is documented in Windows Driver Kit.

Windows Driver Kit DDI reference (nf-ntifs-rtlnextunicodeprefix)

RtlNextUnicodePrefix function

Description

The RtlNextUnicodePrefix routine is used to enumerate the elements in a Unicode prefix table.

Parameters

PrefixTable [in]

Pointer to the prefix table. The table must have been initialized by calling RtlInitializeUnicodePrefix.

Restart [in]

Set to TRUE if the enumeration is to start at the first element in the table. Set to FALSE if resuming the enumeration from a previous call.

To enumerate all elements in the table, use RtlNextUnicodePrefix as follows:

for (p = RtlNextUnicodePrefix ( Table, TRUE );
     p != NULL;
     p = RtlNextUnicodePrefix ( Table, FALSE )) {
        // Process the element pointed to by p
}

Return value

RtlNextUnicodePrefix returns a pointer to the next element, if one exists. If there are no more elements in the table, RtlNextUnicodePrefix returns NULL.

Remarks

File systems must call RtlInitializeUnicodePrefix to initialize the prefix table before using any other Rtl..UnicodePrefix routines on it. The initialized prefix table structure should be considered opaque.

Callers of the Rtl..UnicodePrefix routines are responsible for synchronizing access to the prefix table. A fast mutex is the most efficient synchronization mechanism to use for this purpose.

For information about other string-handling routines, see Run-Time Library (RTL) Routines.

See also

RtlFindUnicodePrefix

RtlInitializeUnicodePrefix

RtlInsertUnicodePrefix

RtlRemoveUnicodePrefix