diff options
Diffstat (limited to 'src/plugins/directshow/player/directshowglobal.h')
-rw-r--r-- | src/plugins/directshow/player/directshowglobal.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/plugins/directshow/player/directshowglobal.h b/src/plugins/directshow/player/directshowglobal.h index 68cb23649..d8f1d1200 100644 --- a/src/plugins/directshow/player/directshowglobal.h +++ b/src/plugins/directshow/player/directshowglobal.h @@ -46,6 +46,18 @@ template <typename T> T *com_cast(IUnknown *unknown, const IID &iid) : 0; } +template <typename T> T *com_new(const IID &clsid) +{ + T *object = 0; + return CoCreateInstance( + clsid, + NULL, + CLSCTX_INPROC_SERVER, + IID_PPV_ARGS(&object)) == S_OK + ? object + : 0; +} + template <typename T> T *com_new(const IID &clsid, const IID &iid) { T *object = 0; |