private static bool GetPinnedObjectHandle(object objectToPin, out GCHandle pinnedObject)
{
bool bFreeGcBuffer = false;
if (objectToPin is GCHandle)
pinnedObject = (GCHandle)objectToPin;
else
{
pinnedObject = GCHandle.Alloc(objectToPin, GCHandleType.Pinned);
bFreeGcBuffer = true;
}
return bFreeGcBuffer;
}
}