Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Extensions.cs 684 B

il y a 8 ans
12345678910111213141516171819202122232425
  1. using System;
  2. using System.Runtime.InteropServices;
  3. namespace Security2
  4. {
  5. internal static class IntPtrExtensions
  6. {
  7. public static IntPtr Increment(this IntPtr ptr, int cbSize)
  8. {
  9. return new IntPtr(ptr.ToInt64() + cbSize);
  10. }
  11. public static IntPtr Increment<T>(this IntPtr ptr)
  12. {
  13. return ptr.Increment(Marshal.SizeOf(typeof(T)));
  14. }
  15. public static T ElementAt<T>(this IntPtr ptr, int index)
  16. {
  17. var offset = Marshal.SizeOf(typeof(T)) * index;
  18. var offsetPtr = ptr.Increment(offset);
  19. return (T)Marshal.PtrToStructure(offsetPtr, typeof(T));
  20. }
  21. }
  22. }