IDirect3DDevice9::GetStreamSource

Retrieves a vertex buffer bound to the specified data stream.

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

Parameters

StreamNumber
[in] Specifies the data stream, in the range from 0 to the maximum number of streams minus one.
ppStreamData
[in, out] Address of a pointer to an IDirect3DVertexBuffer9 interface, representing the returned vertex buffer bound to the specified data stream.
pOffsetInBytes
[out] 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
[out] Pointer to a returned stride of the component, in bytes. See Remarks.

Return Values

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 will increase 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

Header: Declared in D3d9.h.

See Also

IDirect3DDevice9::SetStreamSource, IDirect3DDevice9::DrawIndexedPrimitive, IDirect3DDevice9::DrawIndexedPrimitiveUP, IDirect3DDevice9::DrawPrimitive, IDirect3DDevice9::DrawPrimitiveUP, Vertex Buffers