freerdp type (also spelled rdp_freerdp) is the top-level handle for an RDP client connection. It holds the pointer to the rdpContext and all callbacks that drive connection behaviour.
In typical use you obtain a freerdp instance indirectly through freerdp_client_context_new() → context->instance. When lower-level control is needed you can allocate one directly.
Instance Lifecycle
Direct allocation
Key Fields
rdpContext*
Pointer to the associated context. Allocated by
freerdp_context_new(). Access settings, channels, GDI, etc. through this field.size_t
The number of bytes to allocate for the context. Defaults to
sizeof(rdpContext). Set to sizeof(MyContext) before calling freerdp_context_new() to use an extended context struct.UINT
Internal field tracking whether
PreConnect / PostConnect have been called. Do not modify directly.Connection Callbacks
Set these on thefreerdp instance — typically inside your ClientNew (i.e., pRdpClientNew) implementation — before calling freerdp_connect().
Authentication Callbacks
Certificate Verification Callbacks
VERIFY_CERT_FLAG_* Constants
Other Callbacks
Context Allocation Callbacks
These are set directly on thefreerdp struct (not via RDP_CLIENT_ENTRY_POINTS) when using the lower-level freerdp_context_new() path:
