The DeviceOpen function takes a pointer to an I32, which it looks like you are passing in properly, and which then makes this I32 become the handle to the device. However, subsequent functions need to use the handle.
In the code in the image you attached, you are doing this properly, which is why it works.
In the LabVIEW code in your post, you are passing in a new constant to each BuzzerEnable (and other following functions), with a value of 0 each time. You need to have them all using the same handle.
If you wire the handle output (the bottom right I32 terminal on your DeviceOpen library call) to your next function and then chain it like that it will work. The corresponding right-side terminals for a pointer argument will be the value at the location of the pointer argument after the library function returns (in your case, after your library populated the location with the handle value).
Also note that the error out terminal for a call library function is LabVIEW's errors in calling the function - the function's actual return value, which for you indicates success or failure and which you have handled in your attached textual code, is the top-right output terminal.