Direct3DRMObject

アプリケーションは、Microsoft® Direct3D® 保持モードオブジェクトのスーパークラスとやりとりするために、Direct3DRMObjectインターフェイスのメソッドを使用する。

Direct3DRMObjectは、システム中のすべてのオブジェクトの共通スーパークラスである。Direct3DRMObjectオブジェクトには、すべてのオブジェクトに共通する特性がある。

オブジェクトを作成するには、アプリケーションは、最初に、Direct3D保持モードオブジェクトをインスタンス化しなければならない。次に、アプリケーションは、オブジェクトを作成するオブジェクトのインターフェイスメソッドを呼び出し、オブジェクトに固有のパラメータを指定する。たとえば、Direct3DRMAnimationオブジェクトを作成するには、アプリケーションはDirect3DRM3.CreateAnimationメソッドを呼び出すことになる。次に、作成メソッドは新しいオブジェクトを作成し、パラメータ中で (その他すべてはデフォルト値のまま) 渡されるデータのオブジェクト属性のいくつかを初期化し、オブジェクトを返す。次に、アプリケーションは、このオブジェクトのインターフェイスを指定し、オブジェクトを修正および使用することができる。

任意のオブジェクトは、アプリケーション固有データの32ビットを格納することができる。このデータを保持モードで解釈または変更できない。アプリケーションは、Direct3DRMObject.GetAppDataメソッドを使用してこのデータを読み込み、Direct3DRMObject.SetAppDataメソッドを使用してこのデータに書き込みすることができる。アプリケーションがDirect3DRMFrameの各オブジェクトの構造体を保持していれば、このデータの検索は簡単になる。たとえば、Direct3DRMFrame3.GetParentメソッドの呼び出しでDirect3DRMFrameオブジェクトを取得する場合、アプリケーションはそのプライベート構造体にアクセスして、データを簡単に取り出し、時間のかかる検索を避けることができる。

アプリケーションを編成する支援のために、またはアプリケーションのユーザインターフェイスの一部として、名前をオブジェクトに割り当てたい場合もあると思われる。Direct3DRMObject.SetNameDirect3DRMObject.GetNameメソッドを使用して、オブジェクト名をセットし、取得することができる。

アプリケーション固有データの可能な用途のもう1つの例は、アプリケーションでメッシュ内の面をサブセット (たとえば、前面と後面) にグループ化する必要がある場合である。面の中のアプリケーションデータを使用して、面をこれらのグループのどこに入れるかを注記することができる。

アプリケーションでは、オブジェクトが破棄された場合に呼び出す関数を指定することができる。たとえば、アプリケーションでオブジェクトに関連付けられたメモリの割り当て解除を行う必要がある場合などである。このためには、Direct3DRMObject.AddDestroyCallbackメソッドを使用する。このメソッドで以前に登録した関数を削除するには、Direct3DRMObject.DeleteDestroyCallbackメソッドを使用する。

コールバックは、オブジェクトが破棄され、システムがオブジェクトのメモリ割り当てを解除しようとした場合にのみ呼び出される。アプリケーションがオブジェクトに関する追加データを保持している場合 (たとえば、ダイナミックスを実装するために)、アプリケーションはデータの処理が可能であることを自分自身に通知する手段として、このコールバックを使用することができる。

Direct3DRMObjectインターフェイスのメソッドは、以下のグループにまとめることができる。

アプリケーション固有のデータ GetAppData
SetAppData
複製 CloneObject
名前 GetClassName
GetName
SetName
通知 AddDestroyCallback
DeleteDestroyCallback

すべての保持モードオブジェクトは、Direct3DRMObjectインターフェイスメソッドを継承する。

Direct3DRMObject.AddDestroyCallback

Direct3DRMObject

オブジェクトが破棄されるときに呼び出される関数を登録する。

このメソッドは実装されていない。

構文

object.AddDestroyCallback(fn As Direct3DRMCallback,
  arg As Variant)

要素

object
Direct3DRMObjectオブジェクトを表すオブジェクト式。
fn
オブジェクトが破棄されるときに使われる、ユーザ定義のDirect3DRMCallbackコールバックインターフェイス。
arg
コールバックに渡されるアプリケーション定義データ。この関数はオブジェクトが破棄された後に使われるため、引数としてオブジェクトと共に使用してはならない。

エラー値

このメソッドはE_NOTIMPLを返す。

Direct3DRMObject.CloneObject

Direct3DRMObject

オブジェクトの複製を作成する。

構文

object.CloneObject( ) As Direct3DRMObject

要素

object
Direct3DRMObjectオブジェクトを表すオブジェクト式。

戻り値

オブジェクトの複製を返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMObject.DeleteDestroyCallback

Direct3DRMObject

Direct3DRMObject.AddDestroyCallbackメソッドによって登録された関数を削除する。

このメソッドは実装されていない。

構文

object.DeleteDestroyCallback(fn As Direct3DRMCallback,
  args As Variant)

要素

object
Direct3DRMObjectオブジェクトを表すオブジェクト式。
fn
オブジェクトが破棄されるときに使われる、ユーザ定義のDirect3DRMCallbackインターフェイス。
args
コールバックに渡されるアプリケーション定義データ。

エラー値

このメソッドはE_NOTIMPLを返す。

Direct3DRMObject.GetAppData

Direct3DRMObject

オブジェクトから、アプリケーション固有の32ビットデータを取得する。データのデフォルト値は0である。

構文

object.GetAppData( ) As Long

要素

object
Direct3DRMObjectオブジェクトを表すオブジェクト式。

戻り値

アプリケーションによって定義されたデータ値を返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMObject.SetAppData

Direct3DRMObject.GetClassName

Direct3DRMObject

オブジェクトのクラス名を取得する。

構文

object.GetClassName( ) As String

要素

object
Direct3DRMObjectオブジェクトを表すオブジェクト式。

戻り値

クラス名を識別する文字列を返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

Direct3DRMObject.GetName

Direct3DRMObject

オブジェクト名を取得する。

構文

object.GetName( ) As String

要素

object
Direct3DRMObjectオブジェクトを表すオブジェクト式。

戻り値

オブジェクトを識別する文字列を返す。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMObject.SetName

Direct3DRMObject.SetAppData

Direct3DRMObject

オブジェクトにアプリケーション固有の32ビットデータを設定する。

構文

object.SetAppData(data As Long)

要素

object
Direct3DRMObjectオブジェクトを表すオブジェクト式。
data
オブジェクトに格納されるユーザ定義のデータ。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMObject.GetAppData

Direct3DRMObject.SetName

Direct3DRMObject

オブジェクトの名前を設定する。

構文

object.SetName(name As String)

要素

object
Direct3DRMObjectオブジェクトを表すオブジェクト式。
name
オブジェクトの名前を示すユーザ定義のデータ。

エラー値

エラーのリストについては、「Direct3D保持モードのエラー値」を参照すること。

参照

Direct3DRMObject.GetName


トップに戻る トップに戻る
© 1999 Microsoft and/or its suppliers. All rights reserved. Terms of Use.