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) |
指定サービスのインターフェイスを取得できます。
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は、不要になったら必ず解放します。