Пример #1
0
        /// <summary>
        /// Initializes a new instance of <see cref="RIOHandle" /> class.
        /// </summary>
        /// <param name="table">The reference to the table of the functions pointers.</param>
        public RIOHandle(ref RIO_EXTENSION_FUNCTION_TABLE table)
        {
            registerBuffer = Marshal.GetDelegateForFunctionPointer <RIORegisterBuffer>(table.RIORegisterBuffer);

            createCompletionQueue = Marshal.GetDelegateForFunctionPointer <RIOCreateCompletionQueue>(table.RIOCreateCompletionQueue);

            createRequestQueue = Marshal.GetDelegateForFunctionPointer <RIOCreateRequestQueue>(table.RIOCreateRequestQueue);

            notify = Marshal.GetDelegateForFunctionPointer <RIONotify>(table.RIONotify);

            dequeueCompletion = Marshal.GetDelegateForFunctionPointer <RIODequeueCompletion>(table.RIODequeueCompletion);

            receive = Marshal.GetDelegateForFunctionPointer <RIOReceive>(table.RIOReceive);

            send = Marshal.GetDelegateForFunctionPointer <RIOSend>(table.RIOSend);

            closeCompletionQueue = Marshal.GetDelegateForFunctionPointer <RIOCloseCompletionQueue>(table.RIOCloseCompletionQueue);

            deregisterBuffer = Marshal.GetDelegateForFunctionPointer <RIODeregisterBuffer>(table.RIODeregisterBuffer);

            resizeCompletionQueue = Marshal.GetDelegateForFunctionPointer <RIOResizeCompletionQueue>(table.RIOResizeCompletionQueue);

            resizeRequestQueue = Marshal.GetDelegateForFunctionPointer <RIOResizeRequestQueue>(table.RIOResizeRequestQueue);
        }
Пример #2
0
		/// <summary>
		/// Initializes a new instance of <see cref="RIOHandle" /> class.
		/// </summary>
		/// <param name="table">The reference to the table of the functions pointers.</param>
		public RIOHandle(ref RIO_EXTENSION_FUNCTION_TABLE table)
		{
			registerBuffer = Marshal.GetDelegateForFunctionPointer<RIORegisterBuffer>(table.RIORegisterBuffer);

			createCompletionQueue = Marshal.GetDelegateForFunctionPointer<RIOCreateCompletionQueue>(table.RIOCreateCompletionQueue);

			createRequestQueue = Marshal.GetDelegateForFunctionPointer<RIOCreateRequestQueue>(table.RIOCreateRequestQueue);

			notify = Marshal.GetDelegateForFunctionPointer<RIONotify>(table.RIONotify);

			dequeueCompletion = Marshal.GetDelegateForFunctionPointer<RIODequeueCompletion>(table.RIODequeueCompletion);

			receive = Marshal.GetDelegateForFunctionPointer<RIOReceive>(table.RIOReceive);

			send = Marshal.GetDelegateForFunctionPointer<RIOSend>(table.RIOSend);

			closeCompletionQueue = Marshal.GetDelegateForFunctionPointer<RIOCloseCompletionQueue>(table.RIOCloseCompletionQueue);

			deregisterBuffer = Marshal.GetDelegateForFunctionPointer<RIODeregisterBuffer>(table.RIODeregisterBuffer);

			resizeCompletionQueue = Marshal.GetDelegateForFunctionPointer<RIOResizeCompletionQueue>(table.RIOResizeCompletionQueue);

			resizeRequestQueue = Marshal.GetDelegateForFunctionPointer<RIOResizeRequestQueue>(table.RIOResizeRequestQueue);
		}