BgpGxDrawRectangle
NTSTATUS __stdcall BgpGxDrawRectangle(
_CM_KEY_CONTROL_BLOCK *VirtualKCB,
_CM_KEY_CONTROL_BLOCK *OrigKCB,
UINT64 Index,
_CM_TRANS *CmTrans,
_HHIVE **Hive,
UINT64 *Cell,
_CM_KEY_CONTROL_BLOCK **ChildKcb,
UINT64 *SubKeyCount){
__int64 v10;
PVOID v11;
PVOID v12;
unsigned int BitsPerPixel;
INT64 *v14;
NTSTATUS v15;
NTSTATUS v16;
CHAR v17;
INT64 v18[2];
INT64 result[10];
memset((INT64)result, 0i64);
v10 = 0i64;
v18[0] = 0i64;
BitsPerPixel = BgpGetBitsPerPixel(v12, v11);
v14 = 0i64;
if( *((_DWORD *)VirtualKCB + 2) != BitsPerPixel )
{
if( (dword_140C13310 & 0xC00) != 0 )
{
v17 = 1;
v18[0] = (INT64)result;
}
else
{
v17 = 0;
}
v16 = BgpGxConvertRectangleEx((INT64)VirtualKCB, BitsPerPixel, v18, v17);
if( v16 < 0 )
return v16;
v10 = v18[0];
VirtualKCB = (_CM_KEY_CONTROL_BLOCK *)v18[0];
v14 = (INT64 *)v18[0];
}
v15 = GxpWriteFrameBufferPixels((unsigned __int64)VirtualKCB, (unsigned __int64)OrigKCB);
if( v14 )
{
if( v14 != result )
BgpGxRectangleDestroy(v10);
}
return v15;
}Referenced by:
AnFwpFadeAnimationTimer
BgpClearScreen
BgpFwDisplayBugCheckScreen
BgpTxtDisplayCharacter
BgpTxtDisplayString