NVIDIA VIDEO CODEC SDK question

Hello I’m new around here and have a question regarding the nvidia video codec
I’m trying to develop an application in C# and have done the interop of the NVEncodeAPI.h in order to use it in my program as C# code.

Now…
The documentation states the following.
‘The client should pass a pointer to IUnknown interface of the created device (typecast to
void *) as NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS::device’

  1. How do I create a device?
  2. What is the IUnkown interface and where is it?
  3. In this same method there is a NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS that expects API Version. Where do I get the API Version?