IDirect3DDevice9::GetStreamSource method (d3d9.h)

Retrieves a vertex buffer bound to the specified data stream.

Syntax

HRESULT GetStreamSource(
  UINT                   StreamNumber,
  IDirect3DVertexBuffer9 **ppStreamData,
  UINT                   *pOffsetInBytes,
  UINT                   *pStride
);

Parameters

StreamNumber

Type: [in] UINT

Specifies the data stream, in the range from 0 to the maximum number of streams minus one.

ppStreamData

Type: [in, out] IDirect3DVertexBuffer9**

Address of a pointer to an IDirect3DVertexBuffer9 interface, representing the returned vertex buffer bound to the specified data stream.

pOffsetInBytes

Type: [out]UINT*

Pointer containing the offset from the beginning of the stream to the beginning of the vertex data. The offset is measured in bytes. See Remarks.

pStride

Type: [out] UINT*

Pointer to a returned stride of the component, in bytes. See Remarks.

Return value

Type: HRESULT

If the method succeeds, the return value is D3D_OK. If the method fails, the return value can be D3DERR_INVALIDCALL.

Remarks

A stream is defined as a uniform array of component data, where each component consists of one or more elements representing a single entity such as position, normal, color, and so on.

When a FVF vertex shader is used, the stride of the vertex stream must match the vertex size, computed from the FVF. When a declaration is used, the stride should be greater than or equal to the stream size computed from the declaration.

Calling this method increases the internal reference count on the IDirect3DVertexBuffer9 interface. Failure to call IUnknown::Release when finished using this IDirect3DVertexBuffer9 interface results in a memory leak.

Requirements

   
Target Platform Windows
Header d3d9.h (include D3D9.h)
Library D3D9.lib

See also

IDirect3DDevice9

IDirect3DDevice9::DrawIndexedPrimitive

IDirect3DDevice9::DrawIndexedPrimitiveUP

IDirect3DDevice9::DrawPrimitive

IDirect3DDevice9::DrawPrimitiveUP

IDirect3DDevice9::SetStreamSource

Vertex Buffers (Direct3D 9)