C# Class Microsoft.Protocols.TestSuites.Rdpegfx.RdpegfxAdapter

Inheritance: Microsoft.Protocols.TestTools.ManagedAdapterBase, IRdpegfxAdapter
ファイルを表示 Open project: Microsoft/WindowsProtocolTestSuites

Public Methods

Method Description
AttachRdpbcgrAdapter ( IRdpbcgrAdapter rdpbcgrAdapter ) : void

Attach a RdpbcgrAdapter object

CacheSurface ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, RDPGFX_RECT16 cacheRect, ulong cacheKey, ushort cacheSlot, RDPGFX_COLOR32 fillColor = null ) : uint

Method to implement SurfaceToCache functionality

CreateAndOutputSurface ( RDPGFX_RECT16 rect, PixelFormat pixFormat, ushort surfaceId = null ) : Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface

Method to instruct client to create a surface, and output it to client screen.

CreateEGFXDvc ( RdpedycServer rdpedycServer, DynamicVC_TransportType transportType, uint channelId = null ) : bool

Create graphic DVC channel.

CreateSurface ( ushort width, ushort height, PixelFormat pixFormat, ushort surfaceId = null ) : Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface

Method to instruct client to create a surface

DeleteRfxProgssiveCodecContextId ( ushort sId, uint contextId ) : uint

Send a RDPEGFX_DELETE_ENCODING_CONTEXT_PDU to client.

DeleteSurface ( ushort sid ) : void

Method to Delete surface.

EvictCachEntry ( ushort cacheSlot ) : uint

Method to implement evictCacheEntry functionality

ExpectCacheImportOffer ( ) : RDPGFX_CACHE_IMPORT_OFFER

Method to expect a CACHE_IMPORT_OFFER_PDU from client.

ExpectCapabilityAdvertise ( ) : RDPGFX_CAPS_ADVERTISE

Method to expect a Capability Advertise from client.

ExpectFrameAck ( uint fid ) : void

Method to expect a Frame Acknowledge from client.

FillSurfaceByCachedBitmap ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, RDPGFX_RECT16 cacheRect, ulong cacheKey, RDPGFX_POINT16 destPoints, ushort cacheSlot, RDPGFX_COLOR32 fillColor = null ) : uint

Method to implement SurfaceToCache and CacheToSurface functionality.

FillSurfaceByCachedBitmap ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, ushort cacheSlot, RDPGFX_POINT16 destPoints ) : uint

Method to implement CacheToSurface functionality.

GetUsedRfxProgssiveCodecContextId ( uint &contextId ) : bool

Get a used RfxProgssiveCodec Context Id.

Initialize ( ITestSite testSite ) : void

Method to do test suite initialization.

InterSurfaceCopy ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surfSrc, RDPGFX_RECT16 srcRect, RDPGFX_COLOR32 fillColor, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surfDest, RDPGFX_POINT16 destPos ) : uint

Method to copy bitmap of a rectangle in a surface to other position in another surface

IntraSurfaceCopy ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, RDPGFX_RECT16 srcRect, RDPGFX_POINT16 destPos ) : uint

Method to copy bitmap of a rectangle in surface to other position

MapSurfaceToOutput ( ushort surfaceId, uint outputOriginX, uint outputOriginY ) : uint

Method to instruct client to map a surface to output

ProtocolInitialize ( RdpedycServer rdpedycServer, DynamicVC_TransportType transportType = DynamicVC_TransportType.RDP_TCP ) : bool

Initialize this protocol with create graphic DVC channels.

RemoteFXCodecEncode ( System image, OperationalMode opMode, EntropyAlgorithm entropy, RDPGFX_POINT16 imgPos, ushort sId, PixelFormat pixFormat ) : byte[]>.Dictionary

Encode a bitmap data by RemoteFX codec.

Reset ( ) : void

Method to reset the test suite status to initialization.

ResetGraphics ( uint w, uint h, uint monitorCount = 1 ) : uint

Method to instruct client to create a surface, and output it to client screen.

RfxProgressiveCodecEncode ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, Image image, PixelFormat pixFormat, bool hasSync, bool hasContext, ImageQuality_Values quality, bool bProg, bool bSubDiff, bool bReduceExtrapolate ) : byte[]>>.List

Encode bitmap data by RFX Progressive codec (one tile in one rfx_progressive_datablock frame).

SendCacheImportReply ( RDPGFX_CACHE_ENTRY_METADATA cacheEntries ) : void

Method to send a CACHE_IMPORT_REPLY pdu to client.

SendCapabilityConfirm ( CapsFlags capFlag, CapsVersions version = CapsVersions.RDPGFX_CAPVERSION_8 ) : void

Method to send a Capability Confirm to client.

SendClearCodecGlyphInBatch ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, ushort startGlyphIdx, RDPGFX_POINT16 startGlyphPos, ushort glyphNum, Image glyph ) : uint

Send clearcodec encoded glyph in batch (make sure glyphnum + startGlyphRect.right is not bigger than surf.width)

SendImageWithClearCodec ( ushort sId, PixelFormat pixFormat, byte ccFlag, ushort graphIdx, RDPGFX_RECT16 bmRect, Image residualBmp, Bitmap>.Dictionary bands, BMP_INFO>.Dictionary subcodecs ) : uint

Send bitmap data in clearCodec encoding method.

SendImageWithH264AVC420Codec ( ushort sId, PixelFormat pixFormat, RDPGFX_RECT16 bmRect, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RFX_AVC420_BITMAP_STREAM avc420BitmapStream, Image baseImage ) : uint

Send bitmap data in H264 AVC420 codec

SendImageWithH264AVC420Codec ( ushort sId, PixelFormat pixFormat, RDPGFX_RECT16 bmRect, uint numRects, RDPGFX_RECT16 regionRects, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_AVC420_QUANT_QUALITY quantQualityVals, byte avc420EncodedBitstream, Image baseImage ) : uint

Send bitmap data in H264 AVC420 codec

SendImageWithH264AVC444Codec ( ushort sId, PixelFormat pixFormat, RDPGFX_RECT16 bmRect, AVC444LCValue lcValue, uint stream1NumRects, RDPGFX_RECT16 steam1RegionRects, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_AVC420_QUANT_QUALITY stream1QuantQualityVals, byte avc420EncodedBitstream1, uint stream2NumRects, RDPGFX_RECT16 steam2RegionRects, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_AVC420_QUANT_QUALITY stream2QuantQualityVals, byte avc420EncodedBitstream2, Image baseImage ) : uint

Send bitmap data in H264 AVC444 codec

SendImageWithH264AVC444Codec ( ushort sId, PixelFormat pixFormat, RDPGFX_RECT16 bmRect, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RFX_AVC444_BITMAP_STREAM avc444BitmapStream, Image baseImage ) : uint

Send bitmap data in H264 AVC444 codec

SendNestedFrames ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, RDPGFX_COLOR32 colors, RDPGFX_RECT16 rects ) : void

Method to send nested frames

SendRdpegfxFrameInSegment ( byte frameData ) : void

Method to pack rdpegfx frame into segment header and send it

SendRfxProgressiveCodecPduWithoutImage ( ushort sId, PixelFormat pixFormat, bool hasSync, bool hasContext, bool bSubDiff ) : uint

Send RFX Progressive codec Pdu without image data to client.

SendUncompressedImage ( System image, ushort destLeft, ushort destTop, ushort sId, PixelFormat pixFormat, byte compFlag, uint partSize ) : uint

Send a uncompressed bitmap data, the data segment(s) can be compressed or uncompressed according to parameter.

SetTestType ( RdpegfxNegativeTypes testType ) : void

Set the type of current test.

SolidFillSurface ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, RDPGFX_COLOR32 color, RDPGFX_RECT16 rects, uint frameId = null ) : uint

Method to solidfill a surface with color

Validate ( RDPGFX_FRAME_ACK ack, uint expectedFrameId ) : bool

Verify if received RDPGFX_FRAME_ACK message has correct data.

Protected Methods

Method Description
Dispose ( bool disposing ) : void

Private Methods

Method Description
AddPdusToBuffer ( RdpegfxPdu pdu ) : void

Add RDPEGFX pdu into buffer

AddToPendingList ( IMarshalable rfxMessage ) : void

Add a Rdprfx message data into byte list.

ConvertTileDictToLayer ( EncodedTile[]>.Dictionary tileDict ) : EncodedTile>>.List
EncodePdusToSent ( ) : byte[]

Encode the RDPEGFX pdus in send buffer

ImageToByteArray ( System img ) : byte[]

Convert an bitmap to an byte array.

MakeCacheImportReplyPdu ( RDPGFX_CACHE_ENTRY_METADATA cacheEntries ) : void

Method to make a Cache Offer Reply PDU.

MakeCacheToSurfacePdu ( ushort slot, ushort sid, RDPGFX_POINT16 destPoints ) : void

Method to make a cache to surface Pdu

MakeCapabilityConfirmPdu ( CapsFlags capFlag, CapsVersions version ) : void

Method to make a Capability Confirm PDU.

MakeCreateSurfacePdu ( ushort sid, ushort w, ushort h, PixelFormat pix ) : void

Method to make a Create Surface Pdu.

MakeDeleteSurfacePdu ( ushort sid ) : void

Method to make a delete surface Pdu

MakeEndFramePdu ( uint fid ) : void

Method to make an end frame Pdu.

MakeEvictCacheEntryPdu ( ushort slot ) : void

Method to make an evict cache Pdu.

MakeMapSurfaceToOutputPdu ( ushort sid, uint x, uint y ) : void

Method to make a map Surface to output Pdu

MakeResetGraphicsPdu ( uint w, uint h, uint monitorCount ) : void

Method to make a Reset Graphics Pdu.

MakeRfxProgressiveCodexContextDeletionPdu ( ushort sId, uint codecCtxId ) : void

Method to make a delete encoding context pdu

MakeSolidFillPdu ( ushort sid, RDPGFX_COLOR32 color, RDPGFX_RECT16 rects ) : void

Method to make a solid fill Pdu

MakeStartFramePdu ( uint fid = null ) : uint

Method to make a start frame Pdu.

MakeSurfaceToCachePdu ( ushort sid, ulong key, ushort slot, RDPGFX_RECT16 rect ) : void

Method to make a surface to cache Pdu

MakeSurfaceToSurfacePdu ( ushort srcSID, ushort destSID, RDPGFX_RECT16 srcRect, RDPGFX_POINT16 destPoints ) : void

Method to make a surface to surface Pdu.

MakeWireToSurfacePdu1 ( ushort sId, CodecType cId, PixelFormat pixFormat, RDPGFX_RECT16 bmRect, byte bmData ) : void

Method to make a wire to surface Pdu1

MakeWireToSurfacePdu2 ( ushort sId, PixelFormat pixFormat, byte bmData ) : void

Method to make a wire to surface Pdu2

PackAndSendServerPdu ( ) : void

Method to pack server data into segment header and send it

PackRfxTileImage ( uint index, OperationalMode opMode, EntropyAlgorithm entropy, System tileImage ) : byte[]

Pack a Rdprfx message for a tile image.

RDPEGFX_ValidateHeader ( RdpegfxPdu pdu ) : bool

Verify the common header of RDPEGFX messages.

Validate ( RDPGFX_CACHE_IMPORT_OFFER impOffer ) : bool

Verify if received RDPGFX_CACHE_IMPORT_OFFER message has correct data.

Validate ( RDPGFX_CAPS_ADVERTISE adv ) : bool

Verify if received RDPGFX_CAPS_ADVERTISE message has correct data.

Method Details

AttachRdpbcgrAdapter() public method

Attach a RdpbcgrAdapter object
public AttachRdpbcgrAdapter ( IRdpbcgrAdapter rdpbcgrAdapter ) : void
rdpbcgrAdapter IRdpbcgrAdapter RDPBCGR adapter
return void

CacheSurface() public method

Method to implement SurfaceToCache functionality
public CacheSurface ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, RDPGFX_RECT16 cacheRect, ulong cacheKey, ushort cacheSlot, RDPGFX_COLOR32 fillColor = null ) : uint
surf Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface The surface to be filled.
cacheRect Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 The rectangle to be cached on the surface.
cacheKey ulong The cacheKey of rectangle bitmap data on client.
cacheSlot ushort Specify a cacheslot
fillColor Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_COLOR32 The color that rectangle to be filled.
return uint

CreateAndOutputSurface() public method

Method to instruct client to create a surface, and output it to client screen.
public CreateAndOutputSurface ( RDPGFX_RECT16 rect, PixelFormat pixFormat, ushort surfaceId = null ) : Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface
rect Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 surface rectangle
pixFormat PixelFormat pixel Format to fill surface
surfaceId ushort Specify a Surface ID
return Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface

CreateEGFXDvc() public method

Create graphic DVC channel.
public CreateEGFXDvc ( RdpedycServer rdpedycServer, DynamicVC_TransportType transportType, uint channelId = null ) : bool
rdpedycServer Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpedyc.RdpedycServer RDPEDYC server instance
transportType DynamicVC_TransportType Transport type
channelId uint Channel Id
return bool

CreateSurface() public method

Method to instruct client to create a surface
public CreateSurface ( ushort width, ushort height, PixelFormat pixFormat, ushort surfaceId = null ) : Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface
width ushort Width of the surface
height ushort Height of the surface
pixFormat PixelFormat pixel Format to fill surface
surfaceId ushort Specify a Surface ID
return Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface

DeleteRfxProgssiveCodecContextId() public method

Send a RDPEGFX_DELETE_ENCODING_CONTEXT_PDU to client.
public DeleteRfxProgssiveCodecContextId ( ushort sId, uint contextId ) : uint
sId ushort This is used to indicate the target surface id.
contextId uint the context Id to be deleted.
return uint

DeleteSurface() public method

Method to Delete surface.
public DeleteSurface ( ushort sid ) : void
sid ushort The ID of surface to be deleted.
return void

Dispose() protected method

protected Dispose ( bool disposing ) : void
disposing bool
return void

EvictCachEntry() public method

Method to implement evictCacheEntry functionality
public EvictCachEntry ( ushort cacheSlot ) : uint
cacheSlot ushort Cache slot
return uint

ExpectCacheImportOffer() public method

Method to expect a CACHE_IMPORT_OFFER_PDU from client.
public ExpectCacheImportOffer ( ) : RDPGFX_CACHE_IMPORT_OFFER
return Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_CACHE_IMPORT_OFFER

ExpectCapabilityAdvertise() public method

Method to expect a Capability Advertise from client.
public ExpectCapabilityAdvertise ( ) : RDPGFX_CAPS_ADVERTISE
return Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_CAPS_ADVERTISE

ExpectFrameAck() public method

Method to expect a Frame Acknowledge from client.
public ExpectFrameAck ( uint fid ) : void
fid uint
return void

FillSurfaceByCachedBitmap() public method

Method to implement SurfaceToCache and CacheToSurface functionality.
public FillSurfaceByCachedBitmap ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, RDPGFX_RECT16 cacheRect, ulong cacheKey, RDPGFX_POINT16 destPoints, ushort cacheSlot, RDPGFX_COLOR32 fillColor = null ) : uint
surf Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface The surface to be filled.
cacheRect Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 The rectangle to be cached on the surface.
cacheKey ulong The cacheKey of rectangle bitmap data on client.
destPoints Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_POINT16 This is used to specify destination points of source rectangle bitmap to be copied
cacheSlot ushort Specify a cacheslot
fillColor Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_COLOR32 The color that rectangle to be filled.
return uint

FillSurfaceByCachedBitmap() public method

Method to implement CacheToSurface functionality.
public FillSurfaceByCachedBitmap ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, ushort cacheSlot, RDPGFX_POINT16 destPoints ) : uint
surf Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface The surface to be filled.
cacheSlot ushort Cache slot of bitmap
destPoints Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_POINT16 This is used to specify destination points of source rectangle bitmap to be copied
return uint

GetUsedRfxProgssiveCodecContextId() public method

Get a used RfxProgssiveCodec Context Id.
public GetUsedRfxProgssiveCodecContextId ( uint &contextId ) : bool
contextId uint A used context Id if exists.
return bool

Initialize() public method

Method to do test suite initialization.
public Initialize ( ITestSite testSite ) : void
testSite ITestSite
return void

InterSurfaceCopy() public method

Method to copy bitmap of a rectangle in a surface to other position in another surface
public InterSurfaceCopy ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surfSrc, RDPGFX_RECT16 srcRect, RDPGFX_COLOR32 fillColor, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surfDest, RDPGFX_POINT16 destPos ) : uint
surfSrc Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface
srcRect Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 The rectangle to be copied.
fillColor Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_COLOR32 The color of rectangle to be filled.
surfDest Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface The destination surface where the rectangle is copied to.
destPos Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_POINT16 The position array that rectangle is copied to.
return uint

IntraSurfaceCopy() public method

Method to copy bitmap of a rectangle in surface to other position
public IntraSurfaceCopy ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, RDPGFX_RECT16 srcRect, RDPGFX_POINT16 destPos ) : uint
surf Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface The source surface where the rectangle to be copied.
srcRect Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 The rectangle to be copied.
destPos Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_POINT16 The position array that rectangle is copied to.
return uint

MapSurfaceToOutput() public method

Method to instruct client to map a surface to output
public MapSurfaceToOutput ( ushort surfaceId, uint outputOriginX, uint outputOriginY ) : uint
surfaceId ushort Surface Id
outputOriginX uint x-coordinate of the map point
outputOriginY uint Y-coordinate of the map point
return uint

ProtocolInitialize() public method

Initialize this protocol with create graphic DVC channels.
public ProtocolInitialize ( RdpedycServer rdpedycServer, DynamicVC_TransportType transportType = DynamicVC_TransportType.RDP_TCP ) : bool
rdpedycServer Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpedyc.RdpedycServer RDPEDYC server instance
transportType DynamicVC_TransportType Transport type
return bool

RemoteFXCodecEncode() public method

Encode a bitmap data by RemoteFX codec.
public RemoteFXCodecEncode ( System image, OperationalMode opMode, EntropyAlgorithm entropy, RDPGFX_POINT16 imgPos, ushort sId, PixelFormat pixFormat ) : byte[]>.Dictionary
image System The bitmap image to be sent
opMode OperationalMode Indicate Operational Mode.
entropy EntropyAlgorithm Indicate Entropy Algorithm.
imgPos Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_POINT16 The top-left position of bitmap image relative to surface
sId ushort The surface Id that bitmap image is sent to
pixFormat PixelFormat
return byte[]>.Dictionary

Reset() public method

Method to reset the test suite status to initialization.
public Reset ( ) : void
return void

ResetGraphics() public method

Method to instruct client to create a surface, and output it to client screen.
public ResetGraphics ( uint w, uint h, uint monitorCount = 1 ) : uint
w uint Width of virtual desktop
h uint Height of virtual desktop
monitorCount uint Count of Monitors.
return uint

RfxProgressiveCodecEncode() public method

Encode bitmap data by RFX Progressive codec (one tile in one rfx_progressive_datablock frame).
public RfxProgressiveCodecEncode ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, Image image, PixelFormat pixFormat, bool hasSync, bool hasContext, ImageQuality_Values quality, bool bProg, bool bSubDiff, bool bReduceExtrapolate ) : byte[]>>.List
surf Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface The surface that bitmap image is sent to
image Image The bitmap image to be sent
pixFormat PixelFormat The pixel format to draw surface.
hasSync bool Indicates if sync block exists in FRX Progressive bitmap stream.
hasContext bool Indicates if context block exists in FRX Progressive bitmap stream.
quality ImageQuality_Values The target encoded quality.
bProg bool Indicates if encode progressively
bSubDiff bool Indicates if sub-diffing with last frame of this surface
bReduceExtrapolate bool Indicates if use Reduce Extrapolate method in DWT step.
return byte[]>>.List

SendCacheImportReply() public method

Method to send a CACHE_IMPORT_REPLY pdu to client.
public SendCacheImportReply ( RDPGFX_CACHE_ENTRY_METADATA cacheEntries ) : void
cacheEntries Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_CACHE_ENTRY_METADATA Identify a collection of bitmap cache present on the client.
return void

SendCapabilityConfirm() public method

Method to send a Capability Confirm to client.
public SendCapabilityConfirm ( CapsFlags capFlag, CapsVersions version = CapsVersions.RDPGFX_CAPVERSION_8 ) : void
capFlag CapsFlags The valid rdpgfx_capset_version8 flag.
version CapsVersions version of the capability
return void

SendClearCodecGlyphInBatch() public method

Send clearcodec encoded glyph in batch (make sure glyphnum + startGlyphRect.right is not bigger than surf.width)
public SendClearCodecGlyphInBatch ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, ushort startGlyphIdx, RDPGFX_POINT16 startGlyphPos, ushort glyphNum, Image glyph ) : uint
surf Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface This is used to indicate the target surface id.
startGlyphIdx ushort This is used to indicate the start index of graph batch to be put in client graph cache.
startGlyphPos Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_POINT16 The start position of glyph batch, which will be sent in clearcodec, relative to the surface.
glyphNum ushort The glyph number in batch.
glyph Image The residual layer image to be sent.
return uint

SendImageWithClearCodec() public method

Send bitmap data in clearCodec encoding method.
public SendImageWithClearCodec ( ushort sId, PixelFormat pixFormat, byte ccFlag, ushort graphIdx, RDPGFX_RECT16 bmRect, Image residualBmp, Bitmap>.Dictionary bands, BMP_INFO>.Dictionary subcodecs ) : uint
sId ushort This is used to indicate the target surface id.
pixFormat PixelFormat This is used to indicate the pixel format to fill target surface.
ccFlag byte This is used to indicate the clearcodec stream flags.
graphIdx ushort This is used to indicate the index of graph to be put in client graph cache.
bmRect Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 The rectangle of whole Image, which will be sent in clearcodec, relative to the surface
residualBmp Image
bands Bitmap>.Dictionary The dictionary of band layer image and position
subcodecs BMP_INFO>.Dictionary The dictionary of subcodec layer image, subcodecID and position
return uint

SendImageWithH264AVC420Codec() public method

Send bitmap data in H264 AVC420 codec
public SendImageWithH264AVC420Codec ( ushort sId, PixelFormat pixFormat, RDPGFX_RECT16 bmRect, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RFX_AVC420_BITMAP_STREAM avc420BitmapStream, Image baseImage ) : uint
sId ushort This is used to indicate the target surface id
pixFormat PixelFormat This is used to indicate the pixel format to fill target surface.
bmRect Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 The rectangle of whole Image
avc420BitmapStream Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RFX_AVC420_BITMAP_STREAM A RFX_AVC420_BITMAP_STREAM structure for encoded information
baseImage Image Base Image used to verify output
return uint

SendImageWithH264AVC420Codec() public method

Send bitmap data in H264 AVC420 codec
public SendImageWithH264AVC420Codec ( ushort sId, PixelFormat pixFormat, RDPGFX_RECT16 bmRect, uint numRects, RDPGFX_RECT16 regionRects, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_AVC420_QUANT_QUALITY quantQualityVals, byte avc420EncodedBitstream, Image baseImage ) : uint
sId ushort This is used to indicate the target surface id
pixFormat PixelFormat This is used to indicate the pixel format to fill target surface.
bmRect Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 The rectangle of whole Image
numRects uint Number of rects
regionRects Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 Rect list
quantQualityVals Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_AVC420_QUANT_QUALITY Quality list
avc420EncodedBitstream byte encoded H264 AVC420 data stream
baseImage Image Base Image used to verify output
return uint

SendImageWithH264AVC444Codec() public method

Send bitmap data in H264 AVC444 codec
public SendImageWithH264AVC444Codec ( ushort sId, PixelFormat pixFormat, RDPGFX_RECT16 bmRect, AVC444LCValue lcValue, uint stream1NumRects, RDPGFX_RECT16 steam1RegionRects, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_AVC420_QUANT_QUALITY stream1QuantQualityVals, byte avc420EncodedBitstream1, uint stream2NumRects, RDPGFX_RECT16 steam2RegionRects, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_AVC420_QUANT_QUALITY stream2QuantQualityVals, byte avc420EncodedBitstream2, Image baseImage ) : uint
sId ushort This is used to indicate the target surface id
pixFormat PixelFormat This is used to indicate the pixel format to fill target surface.
bmRect Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 The rectangle of whole Image
lcValue AVC444LCValue Code specifies how data is encoded in the avc420EncodedBitstream1 and avc420EncodedBitstream2 fields
stream1NumRects uint Number of rects of avc420EncodedBitstream1
steam1RegionRects Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 Rect list of avc420EncodedBitstream1
stream1QuantQualityVals Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_AVC420_QUANT_QUALITY Quality list of avc420EncodedBitstream1
avc420EncodedBitstream1 byte encoded H264 AVC420 data stream of avc420EncodedBitstream1
stream2NumRects uint Number of rects of avc420EncodedBitstream2
steam2RegionRects Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 Rect list of avc420EncodedBitstream2
stream2QuantQualityVals Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_AVC420_QUANT_QUALITY Quality list of avc420EncodedBitstream2
avc420EncodedBitstream2 byte encoded H264 AVC420 data stream of avc420EncodedBitstream2
baseImage Image Base Image used to verify output
return uint

SendImageWithH264AVC444Codec() public method

Send bitmap data in H264 AVC444 codec
public SendImageWithH264AVC444Codec ( ushort sId, PixelFormat pixFormat, RDPGFX_RECT16 bmRect, Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RFX_AVC444_BITMAP_STREAM avc444BitmapStream, Image baseImage ) : uint
sId ushort This is used to indicate the target surface id
pixFormat PixelFormat This is used to indicate the pixel format to fill target surface.
bmRect Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 The rectangle of whole Image
avc444BitmapStream Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RFX_AVC444_BITMAP_STREAM A RFX_AVC444_BITMAP_STREAM structure for encoded information
baseImage Image Base Image used to verify output
return uint

SendNestedFrames() public method

Method to send nested frames
public SendNestedFrames ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, RDPGFX_COLOR32 colors, RDPGFX_RECT16 rects ) : void
surf Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface The surface that the frames belong to
colors Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_COLOR32 The color to fill the surface
rects Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 The rectangles to be filled in the surface
return void

SendRdpegfxFrameInSegment() public method

Method to pack rdpegfx frame into segment header and send it
public SendRdpegfxFrameInSegment ( byte frameData ) : void
frameData byte The frame data to be sent
return void

SendRfxProgressiveCodecPduWithoutImage() public method

Send RFX Progressive codec Pdu without image data to client.
public SendRfxProgressiveCodecPduWithoutImage ( ushort sId, PixelFormat pixFormat, bool hasSync, bool hasContext, bool bSubDiff ) : uint
sId ushort The surface Id that bitmap image is sent to
pixFormat PixelFormat The pixel format to draw surface.
hasSync bool Indicates if sync block exists in FRX Progressive bitmap stream.
hasContext bool Indicates if context block exists in FRX Progressive bitmap stream.
bSubDiff bool Indicates if sub-diffing with last frame of this surface
return uint

SendUncompressedImage() public method

Send a uncompressed bitmap data, the data segment(s) can be compressed or uncompressed according to parameter.
public SendUncompressedImage ( System image, ushort destLeft, ushort destTop, ushort sId, PixelFormat pixFormat, byte compFlag, uint partSize ) : uint
image System The bitmap image to be sent
destLeft ushort The x-coordination of bitmap image top-left position
destTop ushort The y-coordination of bitmap image top-left position
sId ushort The surface Id that bitmap image is sent to
pixFormat PixelFormat The pixel format of bitmap image
compFlag byte The flag indicates whether the bitmap is compressed
partSize uint The size of pure data in a single RDP8_BULK_ENCODED_DATA structure
return uint

SetTestType() public method

Set the type of current test.
public SetTestType ( RdpegfxNegativeTypes testType ) : void
testType RdpegfxNegativeTypes The test type.
return void

SolidFillSurface() public method

Method to solidfill a surface with color
public SolidFillSurface ( Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface surf, RDPGFX_COLOR32 color, RDPGFX_RECT16 rects, uint frameId = null ) : uint
surf Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.Surface The surface to be filled.
color Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_COLOR32 The color to fill the surface.
rects Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_RECT16 The rectangles to be filled in the surface.
frameId uint Specify the frame Id.
return uint

Validate() public method

Verify if received RDPGFX_FRAME_ACK message has correct data.
public Validate ( RDPGFX_FRAME_ACK ack, uint expectedFrameId ) : bool
ack Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpegfx.RDPGFX_FRAME_ACK The received RDPGFX_FRAME_ACK message
expectedFrameId uint
return bool