public static extern int ucol_previous(CollationElementIterator.Handle handle, out ErrorCode status);
public static extern void ucol_reset(CollationElementIterator.Handle handle);
public static extern int ucol_getOffset(CollationElementIterator.Handle handle);
public static extern int ucol_getMaxExpansion(CollationElementIterator.Handle elems, int order);
public static extern void ucol_setText(CollationElementIterator.Handle handle, [MarshalAs(UnmanagedType.LPWStr)] string text, int textLength, out ErrorCode status);
public static extern void ucol_setOffset(CollationElementIterator.Handle handle, int offset, out ErrorCode status);
internal static CollationElementIterator Create(RuleBasedCollator.Handle elems, string str) { ErrorCode status; var cei = new CollationElementIterator { _handle = NativeMethods.ucol_openElements(elems, str, str.Length, out status) }; status.ThrowIfError(); return cei; }