Media Foundation Com Classes Imfattributes & Imfactivate - Как использовать их в программе Delphi?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Media Foundation Com Classes Imfattributes & Imfactivate - Как использовать их в программе Delphi?

Сообщение Anonymous »

Цель : Попробуйте, чтобы подсчитано и захват изображений, чтобы работать с программой Delphi. page:
https://learn.microsoft.com/en-us/windo ... dation-sdk
Media Foundation (MF) is a COM-based multimedia framework pipeline and infrastructure platform for digital media in
Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, and Windows 11. Ссылка на страницу Wikipedia о медиа -фонде:
https://en.wikipedia.org/wiki/media_foundationобразной mfplat.tlb файлы вообще существуют вообще? Если да, как я могу их загрузить? cocreateInstance () нуждается как clSID (идентификатор класса), так и iid (идентификатор интерфейса).
интерфейс -идентификатор s может быть обнаружен в результатах поиска.
Но как найти CLSID ( ID ID , который также не зависит, это также не зависит так же. cocreateInstance () функция?
Я использовал эту версию mfobjects.h, которая поставлялась с компилятором Embarcadero C/C ++ (bcc32.exe = Embarcadero C ++ 7.30 для Win32). компилятор Microsoft C/C ++ или gcc ?
У меня уже есть декларация Delphi для Imfattributes и Imfactivate Interfaces.

Код: Выделить всё

type
IMFActivate = interface(IMFAttributes)
['{7FEE9E9A-4A89-47A6-899C-B6A53A70FB67}']
function ActivateObject(const riid: TGUID; out ppv:Pointer): HRESULT; stdcall;
function ShutdownObject: HRESULT; stdcall;
function DetachObject: HRESULT; stdcall;
end;

var
My_IMFAttributes : IMFAttributes;
My_IMFActivate   : IMFActivate;

begin
My_IMFAttributes := < **WHAT** to put here - ???>;
My_IMFActivate   := < **WHAT** to put here - ???>;
end;
Один из способов может быть использование функции cocreateinstance Windows API, чтобы заставить эти интерфейсы работать, но это требует , для каждого интерфейса, как у меня нет (который у меня уже есть), так и в каком -то другом, что есть и не так, как это не так, как это не так, как это не так, как это не так. Функция может определить это автоматически),
, тогда мне нужно, чтобы эти классные гиды, также способные использовать функцию API CocreateInstance Windows. Сравните: < /p>
C ++ исходный код, чтобы также использовать классы COM Media Foundation, включают и ссылаются на эти Libaries, такие как: < /p>

Код: Выделить всё

#include 
#include 
#include 
#include 
#include 
#include 
#include 

#pragma comment(lib, "mfplat.lib")
#pragma comment(lib, "mf.lib")
#pragma comment(lib, "mfreadwrite.lib")
#pragma comment(lib, "mfuuid.lib")
delphi не может напрямую использовать lib -файлы , такие как mf.lib и mfplat.lib.
Если соответствующие mf.tlb и mfplat.tlb можно скачатьку с того, что
существуют командные инструменты, чтобы сделать эти классы Com -классы. /> Но если эти mf.tlb и mfplat.tlb не могут быть найден>

Подробнее здесь: https://stackoverflow.com/questions/797 ... -them-in-a
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»