why i can not run the program which need directx 9.0c,while xpe al

  • Thread starter Thread starter winston
  • Start date Start date
W

winston

why i can not run the program while need directx 9.0c,while xpe alread has it?



Hi,there,

I created a XPE image run on the windows based terminals
On Via board.. since my application program need directx 9.0c, I included
The component in the image.

How ever after the image FBA, when I run the program, it prompt errors

The program core code list here:


HRESULT rhr = m_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,
m_hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&d3dpp, &m_pd3dDevice );

if( FAILED( rhr ) )
{
AfxMessageBox(_T("Can not create 3D device."), MB_OK, 0);

if(rhr==D3DERR_DEVICELOST)
AfxMessageBox(_T("D3DERR_DEVICELOST."), MB_OK, 0);
else if(rhr == D3DERR_INVALIDCALL)
AfxMessageBox(_T("D3DERR_INVALIDCALL."), MB_OK, 0);
else if(rhr == D3DERR_NOTAVAILABLE)
AfxMessageBox(_T("D3DERR_NOTAVAILABLE."), MB_OK, 0);
else if(rhr == D3DERR_OUTOFVIDEOMEMORY)
AfxMessageBox(_T("D3DERR_OUTOFVIDEOMEMORY."), MB_OK, 0);

return E_FAIL;
}


The program prompt out “D3DERR_NOTAVAILABLEâ€. and exit.

This is a MFC based program..

But I tried to compiled another MFC based program, don't used directx 9.0c
It runs fine. (althought I have to staticly linked the library. Can I
dynamically do so?
How can I deal the XPE to get that?)

So the problems must be in directx 9.0c, which I am sure I included before
compile the xpe image
..i also tried to install the DirectX runtime after FBA, the application
still get error like above..

I use xp embedded sp2 plus xp embedded feature 2007, which including a
directx 9.0c component.

I have to say, in a windows xp platform (not embedded), the program runs
just fine., so I don’t think my application program has any problem for that…
why on the xpe, it can not run?

How to solve this problem? Thank you for your advice..

Really thanks…

Winston.
 
I should add i use VIA EPIA-PD matherboard..and install the hardware
component driver from their website.
 
Thank you for your response.

i did checked with dependcywalker, but i don't know how to get useful
information, because it show so many DLL it rely on. should i check every dll
to see if my xpe image contains it? must be some other way..

also, my program runs fine on windows xp,
on xp ebedded, my other program (all based on MFC) also fine..

i check the program, the information it prints out, it the D3d createdevice.
since it's the d3d createdevice failed. i assume it's directx component not
correct.
am i right to think it this way?

thank you.
 
If it is running in XP Pro than it should run in XPe. There might be a
missing component.

The top left pane lists the DLLs needed. You only need to be concered about
the DLLs in the root branch.
--
Regards,

Sean Liming
www.sjjmicro.com / www.seanliming.com
Book Author - XP Embedded Advanced, XP Embedded Supplemental Toolkit
 
Back
Top