   New to DirectX 9 - Having Issues converting from DirectX 8
  To any who might be able to help, And this is a beginner's question, so please bear with the ignorance I'm currently having issues understanding the conversion from DirectXFileData to D3DXFileData formats. I can no longer pass Matrix Arrays as a data object, as the typedef is no longer PVOID* but rather ID3DXFileData *.How can I convert a D3DMATRIX to file data? or is there a better solution which I am missing? or is the functionality assumed by the new API?Here is my code. ParentFrame is a typedef struct which holds X file Frame data, of which one element is D3DMATRIX m_matOriginal. I also have a the file data pointer declared: ID3DXFileData *pDataObj; // file data pointer D3DXMATRIX FrameMatrix; // Used to pass information from X file into ParentFrame structure.---------------------------------------------------------------------------------------------------------------------------------[font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// Frame transformation matrix[/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][font="Consolas"](*Type == TID_D3DRMFrameTransformMatrix) {[/font][/font][font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]    if[/font][/font][/font][font="Consolas"][font="Consolas"](FAILED(pDataObj->GetChild(Size, &FrameMatrix))) [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]return[/font][/font][/font][font="Consolas"][font="Consolas"];[/font][/font][font="Consolas"][font="Consolas"]    ParentFrame->m_matOriginal = *FrameMatrix;  }-----------------------The code will fail, according to Visual studio 2010, due to FrameMatrix not being a proper element of ID3DXFileData. Again, is there a better way to retrieve the matrix from the X file? Thanks in advance, I may figure it out eventually, but any help is appreciated. [/font][/font]   
  Figured it out.The Lock call supercedes the deprecated GetData function.The following code seems to work:if [font="Consolas"][font="Consolas"](*Type == TID_D3DRMFrameTransformMatrix)[/font][/font][font="Consolas"][font="Consolas"][/font][/font]{SIZE_T*FileSize;   // pointer to Size of data being examined (Size = size of data)*FileSize = Size;  // Assign pointer to address of data package Size value if(FAILED(pDataObj->[font="Consolas"][font="Consolas"]Lock(FileSize, (LPCVOID*)&FrameMatrix))) return;   [font="Consolas"][font="Consolas"]ParentFrame->m_matOriginal = *FrameMatrix;   pDataObj->Unlock();[/font][/font]}[/font][/font]   