Service (IMFGetService)

QueryInterface()で取得できないインターフェイスを取得できます。

定義されているサービス

サービス識別子 インターフェイス このサービスを公開する可能性のあるオブジェクト
MF_METADATA_PROVIDER_SERVICE IMFMetadataProvider Media sources
MF_MEDIASOURCE_SERVICE IMFMediaSource Supported in Windows 8.1 and later.
MF_PMP_SERVER_CONTEXT IMFPMPServer Protected media path (PMP) Media Session.
MF_QUALITY_SERVICES IMFQualityAdvise Media sources.
MF_RATE_CONTROL_SERVICE IMFRateControl Media sources, Media Session
IMFRateSupport Media sources, media sinks, Media Session
MF_REMOTE_PROXY IMFRemoteProxy Proxies for remote objects.
MF_SAMI_SERVICE IMFSAMIStyle Synchronized Accessible Media Interchange (SAMI) media source.
MF_SOURCE_PRESENTATION_PROVIDER_SERVICE IMFMediaSourcePresentationProvider Sequencer source
MF_TIMECODE_SERVICE IMFTimecodeTranslate ASF media source.
MF_TOPONODE_ATTRIBUTE_EDITOR_SERVICE IMFTopologyNodeAttributeEditor Media session
MF_WRAPPED_OBJECT IMFByteStream Wrapped objects
MF_WRAPPED_BUFFER_SERVICE   Supported in Windows 8.1 and later.
MF_WRAPPED_SAMPLE_SERVIC   Supported in Windows 8.1 and later.
MF_WORKQUEUE_SERVICES IMFWorkQueueServices Media session
MFNET_SAVEJOB_SERVICE IMFSaveJob Byte streams
MFNETSOURCE_STATISTICS_SERVICE IPropertyStore Network source. Use this service to retrieve network statistics. See MFNETSOURCE_STATISTICS Property.
MR_AUDIO_POLICY_SERVICE IMFAudioPolicy Audio renderer
MR_BUFFER_SERVICE IDirect3DSurface9 DirectX surface buffers
MR_CAPTURE_POLICY_VOLUME_SERVICE IMFSimpleAudioVolume Audio capture source
MR_POLICY_VOLUME_SERVICE IMFSimpleAudioVolume Audio renderer
MR_STREAM_VOLUME_SERVICE IMFAudioStreamVolume Audio renderer
MR_VIDEO_ACCELERATION_SERVICE IDirect3DDeviceManager9, IDirectXVideoAccelerationService Enhanced video renderer (EVR)
IDirectXVideoMemoryConfiguration Input pins on the DirectShow EVR filter
IMFVideoSampleAllocator Interface EVR stream sinks.
MR_VIDEO_MIXER_SERVICE Various interfaces exposed by the EVR mixer. See Using the Video Mixer Controls. Enhanced video renderer (EVR)
MR_VIDEO_RENDER_SERVICE Various interfaces exposed by the EVR presenter. See Using the Video Display Controls. Enhanced video renderer (EVR)
Service Interfaces - Win32 apps | Microsoft Learn

MFGetService()

指定サービスのインターフェイスを取得できます。

HRESULT MFGetService(
  IUnknown *punkObject, // 要求するオブジェクト識別子
  REFGUID  guidService, // サービス識別子 (service identifier : SID)
  REFIID   riid,        // インターフェイス識別子 (interface identifier : IID)
  LPVOID   *ppvObject   // 結果を受け取るためのポインタ
);
MFGetService function (mfidl.h) | Microsoft Learn

サービスがサポートされていない場合には、MF_E_UNSUPPORTED_SERVICE (0xC00D36BA) が返されます。

取得したppvObjectは、不要になったら必ず解放します。

Microsoft Learnから検索