Функция EngSort (winddi.h)
Функция EngSort выполняет быструю сортировку по указанному списку.
Синтаксис
ENGAPI VOID EngSort(
[in, out] PBYTE pjBuf,
[in] ULONG c,
[in] ULONG cjElem,
[in] SORTCOMP pfnComp
);
Параметры
[in, out] pjBuf
Указатель на массив данных для сортировки.
[in] c
Задает размер (в байтах) каждого элемента в pjBuf.
[in] cjElem
Указывает количество элементов в pjBuf для сортировки.
[in] pfnComp
Указатель на функцию, реализующую сравнение элементов, используемых для сортировки.
Возвращаемое значение
None
Remarks
EngSort реализует алгоритм быстрой сортировки для сортировки элементов cjElem в pjBuf, где каждый элемент имеет размер c. Отсортированные элементы возвращаются в pjBuf; то есть исходное содержимое буфера перезаписывается с помощью отсортированных результатов.
База для сравнения двух элементов определена в функции, на которую указывает pfnComp . Эта функция прообразуется следующим образом:
int (__cdecl *SORTCOMP)(const void *pv1, const void *pv2);
где pv1 и pv2 указывают на два сравниваемых элемента. Возвращаемое значение является результатом сравнения, определенного следующим образом:
Возвращаемое значение | Значение |
---|---|
Отрицательное целое число | *pv1<*pv2 |
Ноль | *pv1 == *pv2 |
Положительное целое число | *pv1>*pv2 |
Массив сортируется в порядке увеличения, который определяется параметром pfnComp .
Требования
Минимальная версия клиента | Доступно в Windows 2000 и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | winddi.h (включая Winddi.h) |
Библиотека | Win32k.lib |
DLL | Win32k.sys |