Пример #1
0
        public static byte[] AsByteArray(this ID3DXBuffer buffer)
        {
            VerifyNonNullArgument(
                buffer,
                "buffer");
            var buf = new byte[(int)buffer.GetBufferSize()];

            Marshal.Copy(
                buffer.GetBufferPointer(),
                buf,
                0,
                (int)buffer.GetBufferSize());
            return(buf);
        }
Пример #2
0
 public static string AsAnsiString(this ID3DXBuffer buffer)
 {
     VerifyNonNullArgument(
         buffer,
         "buffer");
     unsafe
     {
         var ptr  = (sbyte *)buffer.GetBufferPointer();
         var size = (int)buffer.GetBufferSize();
         if (ptr[size - 1] == 0)
         {
             // skip the last null char
             size = Math.Max(
                 checked (size - 1),
                 0);
         }
         return(new string(
                    ptr,
                    0,
                    size));
     }
 }