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は、不要になったら必ず解放します。