My experience with SMB shares is that pretty much any client works ok with Samba, but only Windows is really reliable connecting to Windows over SMB.
The actual transfer operations are pretty straightforward, but the negotiation steps are _very_ intricate and the Microsoft docs about the protocols are less than honest at times.