2009-03-17 5 views
0

Я пытаюсь использовать файл «.h» из Windows SDK на языке .NET (возможно, C#), но безуспешно. Этот заголовок предоставляет некоторые функции проигрывателя Windows Media через COM. Если я использую Win32 C++, я могу использовать его без проблем, поэтому я подумал, что могу использовать Managed C++ в качестве «Моста», чтобы выставить его на C#.Использование заголовка C++ с языком .NET

Файл заголовка - subscriptionservices.h, который поставляется с Windows Media Player SDK 11 (часть Windows SDK 6).

Возможно ли это? Как я могу использовать этот файл заголовка в приложении .NET?

Спасибо, Эдуардо Cobuci

+0

Итак, в чем вопрос? –

+0

Возможно ли это? Как я могу использовать этот файл заголовка в приложении .NET? Благодаря! –

ответ

1

Вы можете использовать PInvoke для Interop с Win32. Если вы пытаетесь использовать COM-объект, вы можете добавить ссылку на проект. Вы посмотрели на this article?

Практически вам нужно понять, какую работу вы делаете. Если вы собираетесь делать много арифметических указателей, я бы рекомендовал управлять C++. Если не C#. Удачи.

+0

Собирался написать COM-вещь, поэтому вместо вас +1. Файл заголовка определенно COM. – OregonGhost

+0

Да ... COM-взаимодействие чрезвычайно полезно, поскольку многие API-интерфейсы Microsoft выставляются как COM-объекты. –

+0

Я хочу, чтобы OpenGL ES был COM - тогда не было бы такого кошмара использовать его из .NET;) Ну. – OregonGhost

0

Попробуйте PInvoke. Я не думаю, что вы можете использовать фактический заголовок, но вы можете ссылаться на функции во внешних неуправляемых DLL.

0

Это может дать вам фору на C++ путь, если вы идти по этому пути.

http://code.msdn.microsoft.com/wmpinterop

Обратите внимание, что интерфейс WMP имеет некоторые сложные интерфейсы P/Invoke в. Для меня проще написать оболочку C++.

0

Если API - это просто вы можете использовать PInvoke, если это сложно, я бы предложил использовать C++/CLI. Это позволяет создать «мост» между управляемым и неуправляемым миром.

Смежные вопросы