rdpgfx

package
v0.4.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2026 License: GPL-3.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ChannelName = plugin.RDPGFX_DVC_CHANNEL_NAME
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BitmapUpdate added in v0.4.5

type BitmapUpdate struct {
	DestLeft, DestTop, DestRight, DestBottom int
	Width, Height                            int
	Bpp                                      int    // bytes per pixel (always 4)
	Data                                     []byte // BGRA pixel data
}

BitmapUpdate represents a rendered bitmap region.

type GfxHandler added in v0.4.5

type GfxHandler struct {
	// contains filtered or unexported fields
}

GfxHandler implements the RDPGFX (MS-RDPEGFX) protocol.

func NewGfxHandler added in v0.4.5

func NewGfxHandler(onBitmap func([]BitmapUpdate)) *GfxHandler

NewGfxHandler creates a new RDPGFX handler.

func (*GfxHandler) OnChannelCreated added in v0.4.5

func (g *GfxHandler) OnChannelCreated()

OnChannelCreated is called after the DVC CREATE_RSP has been sent. It sends CAPS_ADVERTISE to the server to initiate the RDPGFX pipeline.

func (*GfxHandler) Process added in v0.4.5

func (g *GfxHandler) Process(data []byte)

Process handles a complete RDPGFX payload (may contain multiple PDUs). Data arrives wrapped in ZGFX (RDP8 Bulk Compression) segments (MS-RDPEGFX 2.2.4).

Called on the network read goroutine. Decompression happens here; the decompressed payload is then queued for asynchronous processing (including frame ACKs and decode) on the decode goroutine. This keeps the read goroutine free from any socket.Write calls that could cause TCP deadlock when both sides try to write simultaneously.

func (*GfxHandler) SetSendFunc added in v0.4.5

func (g *GfxHandler) SetSendFunc(fn func([]byte))

SetSendFunc sets the function used to send RDPGFX responses via DVC.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL