Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7019677
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T23:12:55+00:00 2026-05-27T23:12:55+00:00

In c++ API Declaration is BOOL DCAMAPI dcam_attachbuffer ( HDCAM h, void** top, _DWORD

  • 0

In c++ API Declaration is

BOOL DCAMAPI dcam_attachbuffer          ( HDCAM h, void** top, _DWORD size );

arguments :
void** top— is the array of pointer to buffer
_DWORD size– is size of top parameter in bytes

In c#, this is how I import the dll file:

[DllImport("dcamapi.dll", EntryPoint = "dcam_attachbuffer",
          CallingConvention = CallingConvention.StdCall,
          CharSet = CharSet.Ansi, BestFitMapping = false,
          ThrowOnUnmappableChar = true)]
        [return: MarshalAsAttribute(UnmanagedType.Bool)]

   public static extern bool dcam_attachbuffer(IntPtr handleCamera,
 [MarshalAsAttribute(UnmanagedType.LPArray)]ref Int32[] buf, 
[MarshalAsAttribute(UnmanagedType.U4)] Int32 bufsize);

My question is do I convert the type from c++ into c# correctly? and How do I declare void**in c#? please help me.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T23:12:56+00:00Added an answer on May 27, 2026 at 11:12 pm

    It is depending on what function dcam_attachbuffer do.

    If it’s taking buffer, define method

    [DllImport("dcamapi.dll", EntryPoint = "dcam_attachbuffer"]
    public static extern bool dcam_attachbuffer(
        IntPtr handleCamera,
        IntPtr ptrsBuf, 
        Int32 bufSize);
    

    and pass pointer derived earlier.

    If function is getting pointer of pointers, define method

    [DllImport("dcamapi.dll", EntryPoint = "dcam_attachbuffer"]
    public static extern bool dcam_attachbuffer(
        IntPtr handleCamera,
        ref IntPtr ptrsBuf, 
        Int32 bufSize);
    

    and use

    System.Runtime.InteropServices.Marshal.Copy(
        IntPtr source,
        IntPtr[] destination,
        int startIndex,
        int length
    )
    

    to copy pointers in IntPtr[]

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

In an API header file I found a strange function declaration: void API_GetParameter(API_SOMESTRUCT param[API_NUM_CONST]);
Given this C API declaration how would it be imported to C#? int _stdcall
Given this C API declaration how would it be imported to C#? const char*
I have problems with marshalling output parameter of c++ function returning array of data
Some API returns me XmlCursor pointing on root of XML Document. I need to
Windows API ::FindWindow function fails when called from Service application. GetLastError() also returns 0
What API or tools can I use to query the capabilities of the system
The API doesn't seem promising.
Reflection API is great thing out there to manipulate the OOP stuff and looks
Facebook API: How to let the php knows whether the user is a fan

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.