高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先

Technical Q&A QA1231
Using QTSetAtomData


Q: QTSetAtomData を使っていくつかのアトムデータを変更していますが、この呼び出しは、渡された atomData ポインタをどのように処理しているか教えてください。

A: QTSetAtomData は、リーフアトムのデータを変更するために使用します。この呼び出しは、dataSize として渡されるバイト数を、アドレス atomData から atom の内容にコピーします。必要に応じて atom をサイズ変更します。

OSErr QTSetAtomData(QTAtomContainer container,
                    QTAtom          atom,
                    long            dataSize,
                    void            *atomData)

この関数を使用するときは、QTAtom に渡されたアトムより大きい QTAtomContainer にあるアトムの位置(オフセット)を、QTFindChildByID または QTFindChildByIndex を使って見つける必要があることを覚えておいてください。また、QTAtomContainer に渡されたものをロック解除する必要があります。QTLockAtomContainer を呼び出してアトムコンテナをロックしていると、この呼び出しは失敗します。

アトムは、親か、データを含むリーフのどちらかです。親とリーフの両方になることはできません。子アトムを含んでいるアトムに対しては、QTSetAtomData を呼び出さないでください。

参考文献:


[2003 年 1 月 14 日]