IDirect3DRMProgressiveMesh::GetLoadStatus

Allows the application to inquire about the current status of the load.


HRESULT GetLoadStatus(
LPD3DRMPMESHLOADSTATUS lpStatus
)

Parameters

lpStatus

Address of a D3DRMPMESHLOADSTATUS structure defined as follows:

typedef struct _D3DRMPMESHLOADSTATUS

{

DWORD dwSize; // Size of this structure

DWORD dwPMeshSize; // Total size (bytes)

DWORD dwBaseMeshSize; // Size of base mesh (bytes)

DWORD dwBytesLoaded; // Total number of bytes loaded

DWORD dwVerticesLoaded; // Number of vertices loaded

DWORD dwFacesLoaded; // Number of faces loaded

DWORD dwFlags;

}

D3DRMPMESHLOADSTATUS;

typedef D3DRMPMESHLOADSTATUS *LPD3DRMPMESHLOADSTATUS;

The dwFlags member can take the following values:

D3DRMPMESHSTATUS_VALID - The progressive mesh object contains valid data.

D3DRMPMESHSTATUS_INTERRUPTED - The download was interrupted either because the application called Abort or because the connection was lost.

D3DRMPMESHSTATUS_BASEMESH - The base mesh has been downloaded.

D3DRMPMESHSTATUS_COMPLETE - All data has been downloaded.

D3DRMPMESHSTATUS_RENDERABLE - It is now possible to render the mesh.

Return Values

Returns DD_OK if successful, or one of the following errors:

D3DRMERR_CONNECTIONLOST

D3DRMERR_INVALIDDATA

D3DRMERR_INVALIDOBJECT

D3DRMERR_INVALIDPARAMS

Remarks

If the mesh is renderable (the base mesh has been downloaded and the data is not corrupt) then the dwFlags member contains D3DRMPMESHSTATUS_RENDERABLE. If the download was interrupted, the dwFlags member will contain D3DRMPMESHSTATUS_INTERRUPTED.