Поделиться через


Класс IMediaObjectImpl::LockIt

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

Класс LockIt является внутренним классом, который блокирует и разблокирует DMO.

LockIt(
    _DERIVED_ *p
);

Параметры

P

Указатель на производный объект.

Комментарии

Конструктор LockIt блокирует DMO, а деструктор разблокирует объект DMO. Чтобы заблокировать объект внутри производного класса, объявите локальную переменную типа LockIt. Объект DMO блокируется, LockIt пока объект остается в область:

void SomeMethod()
{
    // The DMO is not locked.
    {
        LockIt dmoLock(this); // Locks the DMO.
        /* ... */
    } 
    // dmoLock goes out of scope, DMO is unlocked.
}

Методы в IMediaObjectImpl автоматически блокируют DMO.

Требования

Требование Значение
Заголовок
Dmoimpl.h
Библиотека
Dmoguids.lib;
Msdmo.lib

См. также раздел

Шаблон класса IMediaObjectImpl