none
UnmanagedMemoryStream + Texture2D.FromFile = unknown error -2005529767 RRS feed

  • Question

  • Bonjour,
    En essayant de lire une texture à partir d'un stream j'ai une exception de type unknown.

    J'ai un tableau en mémoire d'octets, dont je connais l'adresse grace à un IntPtr pBuffer, et sa taille bufferLen.
    Je récupère le pointer dans un block unsafe :

    byte* ptr = (byte*)pBuffer.ToPointer();

    Je créé ensuite un stream comme ceci :
    UnmanagedMemoryStream stream = new System.IO.UnmanagedMemoryStream(ptr, BufferLen);

    Enfin, j'ai besoin de remplir une texture avec ce stream. Ca tombe bien : la méthode statique Texture2D.FromFile prend en second paramètre un stream (c'est Texture2D parce que j'utilise XNA, mais avec Direct3D.Texture.FromFile, c'est pareil)

    texture = Texture2D.FromFile(device, stream);

    L'execution de cette dernière instruction me renvoie une exception de type InvalidOperationException : An unknown error has occurred.  The result code was -2005529767.

    Je ne comprend pas pourquoi... En debug, stream a l'air d'etre correct.

    Est ce que quelqu'un aurait la solution, ou une piste pour m'aider ?
    Merci
    mercredi 13 juin 2007 14:57