Jump to content
  • Advertisement
Sign in to follow this  
kgstation

AccessDenied problem in Surface RT

This topic is 2155 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I try to run my mesh viewer program in my surface rt, but failed.
VISUAL STUDIO 2013 give me this exception.
Can anyone tell me what's happening?My program work fine with local machine.
 
First-chance exception at 0x75288E8F in ChemicalWar.exe: Microsoft C++ exception: Platform::AccessDeniedException ^ at memory location 0x022CF428. HRESULT:0x80070005 Access Deny?
 
WinRT information: Access Deny.
 
Stack trace:
[External Code]
ChemicalWar.exe!DX::ThrowIfFailed(HRESULT hr) Line 12
ChemicalWar.exe!DX::DeviceResources::CreateWindowSizeDependentResources() Line 196
ChemicalWar.exe!DX::DeviceResources::HandleDeviceLost() Line 333
ChemicalWar.exe!DX::DeviceResources::Present() Line 361
ChemicalWar.exe!ChemicalWar::App::[Windows::ApplicationModel::Core::IFrameworkView]::Run() Line 110
[External Code]
 
If there is a handler for this exception, the program may be safely continued.

Share this post


Link to post
Share on other sites
Advertisement

I'm not familiar with the 'Platform' thing but normally it's something to do with invalid memory pointers, so the pointed data isn't available for your executable, resulting in an access denied error. Is there any way that you could try and see where this exception might occur, try leaving some traces to catch up with later on, like some kind of logging features.

 

But please give us something to process (Like code) so we can assist you further in this issue.

 

EDIT: Btw, this is c++, but what sdk is this? (I'm not familiar with the surface rt), DX, XNA? wacko.png 

 

Hope this might help

-MIGI0027

Edited by Migi0027

Share this post


Link to post
Share on other sites

You need to figure out which call in CreateWindowSizeDependentResources returned the 0x80070005 error code, and then go from there.

 

It sounds like your app doesn't have the right privileges for what it's trying to do.

Edited by phil_t

Share this post


Link to post
Share on other sites

Thanks for your reply.My app work fine with win32, it use directx sdk provided by visual studio 2013 in windows 8.And after i try some method, i found it could be problem about the shader.Or my own file.

This is the screen shot below3tb_131126104500xo3m512293.jpg

All mYHMMesh data is from my own file.But it works fine in win32.

before drawing, I give all skin matrix to shader like this

for (int i = 0; i < mYHMMesh.boneInfo.BoneCount; i++)
{
    XMStoreFloat4x4(&mSkinnedConstantBufferData.boneTransform[i], 
    XMMatrixTranspose(XMMatrixMultiply(
    XMLoadFloat4x4(&boneOffset[i]), XMLoadFloat4x4(&boneTransforms[i][frameCount % mYHMMesh.boneInfo.yhmBone[i].FrameCount]))));
}
and my constantbufferdata and corresbonding cbuffer structure is

struct SkinnedCBufferData
{
    XMFLOAT4X4 model;
    XMFLOAT4X4 view;
    XMFLOAT4X4 projection;
    XMFLOAT4X4 boneTransform[59];
};

cbuffer simpleConstantBuffer : register(b0)
{
    matrix model;
    matrix view;
    matrix projection;
    float4x4 gBoneTransform[59];
};
Still, I don't know what's wrong with my code
 
Edited by kgs

Share this post


Link to post
Share on other sites

I'm not familiar with the 'Platform' thing but normally it's something to do with invalid memory pointers, so the pointed data isn't available for your executable, resulting in an access denied error. Is there any way that you could try and see where this exception might occur, try leaving some traces to catch up with later on, like some kind of logging features.

 

But please give us something to process (Like code) so we can assist you further in this issue.

 

EDIT: Btw, this is c++, but what sdk is this? (I'm not familiar with the surface rt), DX, XNA? wacko.png 

 

Hope this might help

-MIGI0027

 

 

You need to figure out which call in CreateWindowSizeDependentResources returned the 0x80070005 error code, and then go from there.

 

It sounds like your app doesn't have the right privileges for what it's trying to do.

 

Finally I found problem occurred when I set indexbuffer.

context->IASetIndexBuffer(mYHMMesh.Geometry.IndexBuffer.Get(), DXGI_FORMAT_R32_UINT, 0);

DXGI_FORMAT_R32_UINT doesn't work for windows rt, but DXGI_FORMAT_R16_SINT works with some vertex position wrong.

However, DXGI_FORMAT_R16_SINT doesn't work for win32.

My indice is UINT type.

This is really confused me.

Edited by kgs

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!