Initial implemention of buffer_set_size for C#
This commit is contained in:
@@ -115,6 +115,9 @@ namespace cs.ndll
|
|||||||
[UnmanagedFunctionPointerAttribute(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointerAttribute(CallingConvention.Cdecl)]
|
||||||
private delegate IntPtr ValToBufferDelegate(IntPtr arg1);
|
private delegate IntPtr ValToBufferDelegate(IntPtr arg1);
|
||||||
|
|
||||||
|
[UnmanagedFunctionPointerAttribute(CallingConvention.Cdecl)]
|
||||||
|
private delegate void BufferSetSizeDelegate(IntPtr inBuffer, int inLen);
|
||||||
|
|
||||||
[UnmanagedFunctionPointerAttribute(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointerAttribute(CallingConvention.Cdecl)]
|
||||||
private delegate int BufferSizeDelegate(IntPtr inBuffer);
|
private delegate int BufferSizeDelegate(IntPtr inBuffer);
|
||||||
|
|
||||||
@@ -190,6 +193,7 @@ namespace cs.ndll
|
|||||||
private static DelegateConverter<BufferDataDelegate> buffer_data;
|
private static DelegateConverter<BufferDataDelegate> buffer_data;
|
||||||
private static DelegateConverter<BufferValDelegate> buffer_val;
|
private static DelegateConverter<BufferValDelegate> buffer_val;
|
||||||
private static DelegateConverter<ValToBufferDelegate> val_to_buffer;
|
private static DelegateConverter<ValToBufferDelegate> val_to_buffer;
|
||||||
|
private static DelegateConverter<BufferSetSizeDelegate> buffer_set_size;
|
||||||
private static DelegateConverter<BufferSizeDelegate> buffer_size;
|
private static DelegateConverter<BufferSizeDelegate> buffer_size;
|
||||||
private static DelegateConverter<PinBufferDelegate> pin_buffer;
|
private static DelegateConverter<PinBufferDelegate> pin_buffer;
|
||||||
private static DelegateConverter<UnPinBufferDelegate> unpin_buffer;
|
private static DelegateConverter<UnPinBufferDelegate> unpin_buffer;
|
||||||
@@ -603,6 +607,14 @@ namespace cs.ndll
|
|||||||
return arg1;
|
return arg1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void cs_buffer_set_size(IntPtr inBuffer, int inLen)
|
||||||
|
{
|
||||||
|
byte[] buffer = (byte[])HandleUtils.GetObjectFromIntPtr(inBuffer);
|
||||||
|
if (buffer != null) {
|
||||||
|
System.Array.Resize<byte>(ref buffer, inLen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static int cs_buffer_size(IntPtr inBuffer)
|
private static int cs_buffer_size(IntPtr inBuffer)
|
||||||
{
|
{
|
||||||
byte[] buffer = (byte[])HandleUtils.GetObjectFromIntPtr(inBuffer);
|
byte[] buffer = (byte[])HandleUtils.GetObjectFromIntPtr(inBuffer);
|
||||||
@@ -687,6 +699,7 @@ namespace cs.ndll
|
|||||||
buffer_data = new DelegateConverter<BufferDataDelegate>(new BufferDataDelegate(cs_buffer_data));
|
buffer_data = new DelegateConverter<BufferDataDelegate>(new BufferDataDelegate(cs_buffer_data));
|
||||||
buffer_val = new DelegateConverter<BufferValDelegate>(new BufferValDelegate(cs_buffer_val));
|
buffer_val = new DelegateConverter<BufferValDelegate>(new BufferValDelegate(cs_buffer_val));
|
||||||
val_to_buffer = new DelegateConverter<ValToBufferDelegate>(new ValToBufferDelegate(cs_val_to_buffer));
|
val_to_buffer = new DelegateConverter<ValToBufferDelegate>(new ValToBufferDelegate(cs_val_to_buffer));
|
||||||
|
buffer_set_size = new DelegateConverter<BufferSetSizeDelegate>(new BufferSetSizeDelegate(cs_buffer_set_size));
|
||||||
buffer_size = new DelegateConverter<BufferSizeDelegate>(new BufferSizeDelegate(cs_buffer_size));
|
buffer_size = new DelegateConverter<BufferSizeDelegate>(new BufferSizeDelegate(cs_buffer_size));
|
||||||
pin_buffer = new DelegateConverter<PinBufferDelegate>(new PinBufferDelegate(cs_pin_buffer));
|
pin_buffer = new DelegateConverter<PinBufferDelegate>(new PinBufferDelegate(cs_pin_buffer));
|
||||||
unpin_buffer = new DelegateConverter<UnPinBufferDelegate>(new UnPinBufferDelegate(cs_unpin_buffer));
|
unpin_buffer = new DelegateConverter<UnPinBufferDelegate>(new UnPinBufferDelegate(cs_unpin_buffer));
|
||||||
@@ -772,6 +785,8 @@ namespace cs.ndll
|
|||||||
return buffer_val.ToPointer();
|
return buffer_val.ToPointer();
|
||||||
case "val_to_buffer":
|
case "val_to_buffer":
|
||||||
return val_to_buffer.ToPointer();
|
return val_to_buffer.ToPointer();
|
||||||
|
case "buffer_set_size":
|
||||||
|
return buffer_set_size.ToPointer();
|
||||||
case "buffer_size":
|
case "buffer_size":
|
||||||
return buffer_size.ToPointer();
|
return buffer_size.ToPointer();
|
||||||
case "pin_buffer":
|
case "pin_buffer":
|
||||||
|
|||||||
Reference in New Issue
Block a user