HRESULT MFUnlockWorkQueue(DWORD aWorkQueueId) { DECL_FUNCTION_PTR(MFUnlockWorkQueue, DWORD); ENSURE_FUNCTION_PTR(MFUnlockWorkQueue, Mfplat.dll); return (MFUnlockWorkQueuePtr)(aWorkQueueId); }
HRESULT MFStartup() { const int MF_VISTA_VERSION = (0x0001 << 16 | MF_API_VERSION); const int MF_WIN7_VERSION = (0x0002 << 16 | MF_API_VERSION); // decltype is unusable for functions having default parameters DECL_FUNCTION_PTR(MFStartup, ULONG, DWORD); ENSURE_FUNCTION_PTR_(MFStartup, Mfplat.dll) if (!IsWin7OrLater()) return MFStartupPtr(MF_VISTA_VERSION, MFSTARTUP_FULL); else return MFStartupPtr(MF_WIN7_VERSION, MFSTARTUP_FULL); }