4
"안전한"코드로 IntPtr을 실험하고 "안전하지 않은"모드로 작업하는 방식과 비교합니다.GCHandleType.Pinned는 "고정 된"키워드 사용과 비슷합니까?
GCHandleType.Pinned는 안전하지 않은 모드에서 "fixed"를 사용하는 것과 비슷합니까?
GCHandle pinnedArray = GCHandle.Alloc(byteArray, GCHandleType.Pinned);
IntPtr pointer = pinnedArray.AddrOfPinnedObject();
//do your stuff
pinnedArray.Free();
byte[] buffer = new byte[255];
fixed (byte* p = buffer)
{
IntPtr ptr = (IntPtr)p;
// do you stuff here
}