Win32 API 日本語リファレンス
ホームMedia.Audio › ISpatialAudioMetadataClient

ISpatialAudioMetadataClient

COM
IID777d4a3b-f6ff-4a26-85dc-68d7cdeda1d4継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ISpatialAudioMetadataItems、ISpatialAudioMetadataWriter、ISpatialAudioMetadataReader、および ISpatialAudioMetadataCopier の各オブジェクトを作成するためのクラスファクトリを提供します。

メソッド 5

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT ActivateSpatialAudioMetadataItems(WORD maxItemCount, WORD frameCount, ISpatialAudioMetadataItemsBuffer** metadataItemsBuffer, ISpatialAudioMetadataItems** metadataItems)

空間オーディオメタデータ項目を格納するための ISpatialAudioMetadataItems オブジェクトを作成します。

maxItemCountWORDin返される ISpatialAudioMetadataItems に格納できるメタデータ項目の最大数。
frameCountWORDin返される ISpatialAudioMetadataItems に格納されるメタデータ項目に対して有効なフレームオフセット位置の範囲。
metadataItemsBufferISpatialAudioMetadataItemsBuffer**outoptionalポインターが指定された場合、メタデータ項目を格納するために呼び出し元が提供したメモリをアタッチするためのメソッドを提供する ISpatialAudioMetadataItemsBuffer インターフェイスを返します。このパラメーターが NULL の場合、オブジェクトは項目用の内部ストレージを割り当てます。このインターフェイスは QueryInterface 経由では取得できません。
metadataItemsISpatialAudioMetadataItems**outISpatialAudioMetadataItems オブジェクトのインスタンスを受け取ります。このオブジェクトには、ISpatialAudioMetadataWriter または ISpatialAudioMetadataCopier を使用してメタデータ項目を設定でき、ISpatialAudioMetadataReader を使用して読み取ることができます。

戻り値

メソッドが成功した場合は S_OK を返します。失敗した場合、返される可能性のあるコードには、以下の表に示す値が含まれますが、これらに限定されません。

Return code Description
E_INVALIDARG
metadataItems パラメーターで指定されたポインターが無効です。

maxItemCount または frameCount の値が 0 です。

vtbl 4 HRESULT GetSpatialAudioMetadataItemsBufferLength(WORD maxItemCount, DWORD* bufferLength)

指定された数の空間オーディオメタデータ項目を格納するために必要なバッファーの長さを取得します。

maxItemCountWORDinISpatialAudioMetadataItems オブジェクトに格納するメタデータ項目の最大数。
bufferLengthDWORD*outmaxItemCount パラメーターで指定された数の空間オーディオメタデータ項目を格納するために必要なバッファーの長さ。

戻り値

メソッドが成功した場合は S_OK を返します。失敗した場合、返される可能性のあるコードには、以下の表に示す値が含まれますが、これらに限定されません。

Return code Description
E_INVALIDARG
指定されたポインターが無効です。

maxItemCount または frameCount の値が 0 です。

vtbl 5 HRESULT ActivateSpatialAudioMetadataWriter(SpatialAudioMetadataWriterOverflowMode overflowMode, ISpatialAudioMetadataWriter** metadataWriter)

空間オーディオメタデータ項目を ISpatialAudioMetadataItems オブジェクトに書き込むための ISpatialAudioMetadataWriter オブジェクトを作成します。

overflowModeSpatialAudioMetadataWriterOverflowModeinActivateSpatialAudioMetadataItems の呼び出し時に指定された項目の最大数を超えるメタデータ項目を ISpatialAudioMetadataItems に書き込もうとした場合の動作を指定する値。
metadataWriterISpatialAudioMetadataWriter**outISpatialAudioMetadataWriter のインスタンスへのポインターを受け取ります。

戻り値

メソッドが成功した場合は S_OK を返します。失敗した場合、返される可能性のあるコードには、以下の表に示す値が含まれますが、これらに限定されません。

Return code Description
E_INVALIDARG
指定されたポインターが無効です。
vtbl 6 HRESULT ActivateSpatialAudioMetadataCopier(ISpatialAudioMetadataCopier** metadataCopier)

ある ISpatialAudioMetadataItems オブジェクトから別のオブジェクトへ空間オーディオメタデータ項目をコピーするための ISpatialAudioMetadataWriter オブジェクトを作成します。

metadataCopierISpatialAudioMetadataCopier**outISpatialAudioMetadataWriter のインスタンスへのポインターを受け取ります。

戻り値

メソッドが成功した場合は S_OK を返します。失敗した場合、返される可能性のあるコードには、以下の表に示す値が含まれますが、これらに限定されません。

Return code Description
E_INVALIDARG
指定されたポインターが無効です。
vtbl 7 HRESULT ActivateSpatialAudioMetadataReader(ISpatialAudioMetadataReader** metadataReader)

ISpatialAudioMetadataItems オブジェクトから空間オーディオメタデータ項目を読み取るための ISpatialAudioMetadataWriter オブジェクトを作成します。

metadataReaderISpatialAudioMetadataReader**outISpatialAudioMetadataReader のインスタンスへのポインターを受け取ります。

戻り値

メソッドが成功した場合は S_OK を返します。失敗した場合、返される可能性のあるコードには、以下の表に示す値が含まれますが、これらに限定されません。

Return code Description
E_INVALIDARG
指定されたポインターが無効です。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ISpatialAudioMetadataClient "{777D4A3B-F6FF-4A26-85DC-68D7CDEDA1D4}"
#usecom global ISpatialAudioMetadataClient IID_ISpatialAudioMetadataClient "{}"
#comfunc global ISpatialAudioMetadataClient_ActivateSpatialAudioMetadataItems         3 int,int,sptr,sptr
#comfunc global ISpatialAudioMetadataClient_GetSpatialAudioMetadataItemsBufferLength  4 int,var
#comfunc global ISpatialAudioMetadataClient_ActivateSpatialAudioMetadataWriter        5 int,sptr
#comfunc global ISpatialAudioMetadataClient_ActivateSpatialAudioMetadataCopier        6 sptr
#comfunc global ISpatialAudioMetadataClient_ActivateSpatialAudioMetadataReader        7 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。