The ohNet page should be pretty self-explanatory.
It is a UPnP stack. It'll handle all communication between control point and media server / media renderer. It won't automatically control a media renderer; you have to write the code to do this.
Overview and API docs for ohNet are linked from the above page. Docs for a UPnP media renderer are available from the UPnP forum (see the standardizeddcps/MediaServer_1 and MediaRenderer_1 directory inside the zip). Docs for ohMedia services are available from the OpenHome site.
You mentioned wanting to write a "DLNA UPnP control point". DLNA vs UPnP is a regular source of confusion. UPnP describes the protocols and APIs you need to control a UPnP media renderer. DLNA is an optional layer on top of this which gives you greater confidence of interoperability and the rights to use the DLNA name/logo in marketing materials. You do not need DLNA compliance; if you choose to implement it, you'll have to join DLNA and pay (a relatively large amount) for access to the specs.