How to use the IBOCreator class in C#

Thank you so much for this!!

Are there any quick workarounds that might be useful to do? We are trying to build a prototype so we are open to temporary fixes.

hi, any updates? Can we contribute in any way?
I believe having BO functionality is (will be) necessary for all wrapper users

1 Like

Hey @p.ceccanti and @ekaram,

I am very close to finishing the updated files. Sorry for the delay, it has been a busy couple weeks.
Stay tuned.



Any updates on this?

Hey @ekaram,

Yes, was just about to update this thread actually! I have integrated the interfaces into the wrapper, however there seems to be several bugs with the latest version. I am trying to track down whether the bugs are in my implementation of the wrapper or in the SDK itself. I can provide you with my version now, or I can provide you with a version once I have completed more testing.


1 Like

Hey @Michael_Condon.
That sounds great!!!
If the interface works we don’t mind other bugs. There are bugs in the version we currently have so it’s not much of a deal-breaker.

Either way, we can always revert back if thing go too astray

Please send us your version when you get the chance

Hey @Michael_Condon
Any news on this?

Hey @ekaram @p.ceccanti @lauren.olphert,

Thanks for your patience with this one everyone :slight_smile:

Just to catch everyone up, I have added the breakout rooms interface to the C# wrapper locally. However, I was seeing bugs with it and had to track down whether those bugs were in the SDK itself or my implementation of the wrapper. This took longer than expected as the latest SDK release seemed to have its own breakout rooms bugs. After more testing, it appears the main issue I am seeing is indeed with my implementation of the wrapper. I am still troubleshooting what exactly is wrong in my code, but essentially the breakout room controller always returns NULL. Under the same scenario in the C++ SDK, it is returning successfully.

Every breakout room class and function is implemented in my wrapper but I have not found the root-cause of the NULL-ness. If you would like to look at it (or maybe derive your own implementation from it), I can still send it out to you over a DeveloperSupport thread. Otherwise, I can put up a PR internally once I identify the issue and hopefully we can distribute it publicly after that.

If you do want the broken version I am currently using, can you send an email with a link to this post to I unfortunately cannot upload a zip here. @lauren.olphert, I still have our thread up so no need to start a new one.


1 Like

Hi Michael

I am able to get a non null result from CZoomSDKeDotNetWrap.Instance.GetMeetingServiceWrap().GetMeetingBOController() based on my tests at

It was quite tedious to code all the intermediary objects.

1 Like

@ratuthit ohh awesome
just to note the old implementation was

I just noticed the link you sent has the tutorial on how to edit it!!! (this was released in march 29,2021)
Super perfect!!

take a look at the link it might point out the mistake

1 Like

Hey @ratuthit @ekaram,

Dang, I wish I would’ve seen the article before implementing it myself :sweat_smile:


A few things to note that got me stuck from the tutorial

You need to modify the common header file in more than one place to include
you need to included it as
#include “…/…/zoom_sdk/include/meeting_service_components/meeting_breakout_rooms_interface_v2.h”

#include “…/h/meeting_service_components/meeting_breakout_rooms_interface_v2.h”

In zoom-c-sharp\zoom_sdk_c_sharp_wrap\meeting_bo_dotnet_wrap.h
You need to include the header file as well

Make sure you include the new files you create in the project

Please note that these are the problems I saw from the tutorial. I couldn’t get the tutorial to run
@ratuthit Do you have a working copy of this? I keep getting the following linker errors

I recompiled Michael’s Code though and it seems to run fine on a fresh install of the SDK. I just need to re-add the modifications I had

Thanks, @ekaram, I have updated the section Get the Controller in SDK.

I accidentally put the file meeting_bo_wrap.cpp when it should have been meeting_service_wrap.cpp.

That resulted in a linker error.

Now it compiles fine. The meeting_breakout_rooms_interface_v2.h just needs to be in one place common_include.h.


Thank you so much! it works as expected! (

To whoever stumbles again on this. I’m going to paste a link to drive to the code. Hopefully, this is helpful to others until Zoom adds the code themselves

there are two Zip files (please note that these are all based on v5.4.54802.0124)

  • zoom_sdk_c_sharp_wrap (This is one from the tutorial. Includes other edits as well from me)
    You would get this code if the tutorial is properly followed. It would add the BO functionality besides the old one. (Preferable one) (Zoom Windows SDK Extension for C#)
  • WrapperModifications From Zoom (this is the one from Michael. The BO according to him still needs work but it replaces the old breakout room function)

The edits in the new wrapper:

  • Is talking
  • OnCoHostChange Notification
  • /meeting_breakout_rooms_interface_v2.h is implemented


@ekaram @ratuthit

You guys are rockstars! :slight_smile:
Thank you so much for this!


1 Like

Hi Ekaram, thanks a lot for your help. Could you explain me how to create the new “.dll” from the code insideyour drive?


1 Like

How to create new dll

  1. open the folder labeled zoom_sdk_c_sharp_wrap folder
  2. Click on zoom_sdk_c_sharp_wrap.sln
  3. Edit the files to expand the wrappers functionalities
  4. Select Release from the build mode

5. Right-click on zoom_sdk_dotnet_wrap in the hierarchy and click on build or rebuild

  1. Right click on zoom_sdk_dotnet_wrap in the hierarchy and click on build or rebuild
1 Like

Thanks a Million for your precious Help!! Now it works!
If I may, could you tell me if in the wrapper on your GDrive link you have just included also the IBOattende function with the possibility of joining the room?

Thanks a lot

Thank you for your assistance @ekaram!


1 Like

Those are there but they might be broken based on the answer here.

So they might not work

1 Like