Microsoft DirectX 8.0 (Visual Basic)

メソッドへの配列の受け渡し

DirectInputDevice8.SendDeviceData など、いくつかの DirectX メソッドでは、型が指定された配列をパラメータとして取る。たとえば、次のコード例で、formatArrayDIDEVICEOBJECTDATA 型の配列である。lCount は配列の要素数を示す。lFlags はデータの送信方法を制御するフラグ パラメータである。

MyDevice.SendDeviceData(lCount, formatArray(), lFlags) 

いくつかの DirectX8 メソッドは、Any 型のパラメータを使用してデータを返す。たとえば、DirectSoundCaptureBuffer8.ReadBuffer メソッドの buffer パラメータである。一般には、そのようなメソッドからデータがバイト配列として返されると都合がよい。しかし、Microsoft® Visual Basic® の配列では実データの前に別の情報が含まれているので、単に配列の名前をメソッドに渡すことはできない。配列名の代わりに、配列の最初の要素を渡す必要がある。たとえば、次のコード例で、dsCaptureBufferDirectSoundCaptureBuffer8 オブジェクト、nBytes は読み取るバイト数が格納される長整数型 (Long) の値、buffer は 0 ベースのバイト配列である。

ReDim buffer(nBytes)
Call dsCaptureBuffer.ReadBuffer(0, nBytes, buffer(0), 0)