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 日] |