Функция llMulDiv
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Функция llMulDiv
реализует формулу ((a*b)+rnd)/c
, где каждый термин является 64-разрядным значением.
Метки времени и время поиска являются 64-разрядными значениями, поэтому эта функция полезна для выполнения преобразований в 32-разрядных системах. Например, формула для байтов в секунду имеет значение
(Number of Bytes * Reference Time) / 10,000,000
который можно вычислить как llMulDiv(nBytes, rtTime, 10000000, 0)
. Используйте параметр rnd в качестве коэффициента округления.
Синтаксис
LONGLONG WINAPI Int64x32Div32(
LONGLONG a,
LONGLONG b,
LONGLONG c,
LONGLONG rnd
);
Параметры
-
a
-
Умножение.
-
b
-
Множитель.
-
c
-
Делитель.
-
Rnd
-
Коэффициент округления.
Возвращаемое значение
Возвращает вычисление (a * b + rnd)/c
или одно из следующих значений.
Код возврата | Описание |
---|---|
|
Переполнение произошло из-за слишком большого (положительного) результата. |
|
Переполнение произошло из-за слишком большого (отрицательного) результата. |
Комментарии
Округление деления к нулю. Деление на ноль считается условием переполнения.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел