本文整理汇总了C++中IFCALL函数的典型用法代码示例。如果您正苦于以下问题:C++ IFCALL函数的具体用法?C++ IFCALL怎么用?C++ IFCALL使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了IFCALL函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: wf_gdi_surface_frame_marker
void wf_gdi_surface_frame_marker(rdpContext* context, SURFACE_FRAME_MARKER* surface_frame_marker)
{
wfInfo* wfi;
rdpSettings* settings;
wfi = ((wfContext*) context)->wfi;
settings = wfi->instance->settings;
if (surface_frame_marker->frameAction == SURFACECMD_FRAMEACTION_END && settings->FrameAcknowledge > 0)
{
IFCALL(wfi->instance->update->SurfaceFrameAcknowledge, context, surface_frame_marker->frameId);
}
}
示例2: update_post_connect
void update_post_connect(rdpUpdate* update)
{
update->asynchronous = update->context->settings->AsyncUpdate;
if (update->asynchronous)
update->proxy = update_message_proxy_new(update);
update->altsec->switch_surface.bitmapId = SCREEN_BITMAP_SURFACE;
IFCALL(update->altsec->SwitchSurface, update->context, &(update->altsec->switch_surface));
update->initialState = FALSE;
}
示例3: audin_server_recv_open_reply
static BOOL audin_server_recv_open_reply(audin_server* audin, STREAM* s, UINT32 length)
{
UINT32 Result;
if (length < 4)
return FALSE;
stream_read_UINT32(s, Result);
IFCALL(audin->context.OpenResult, &audin->context, Result);
return TRUE;
}
示例4: update_recv_desktop_info_order
BOOL update_recv_desktop_info_order(rdpUpdate* update, wStream* s, WINDOW_ORDER_INFO* orderInfo)
{
rdpContext* context = update->context;
rdpWindowUpdate* window = update->window;
if (orderInfo->fieldFlags & WINDOW_ORDER_FIELD_DESKTOP_NONE)
{
update_read_desktop_non_monitored_order(s, orderInfo);
WLog_Print(update->log, WLOG_DEBUG, "NonMonitoredDesktop");
IFCALL(window->NonMonitoredDesktop, context, orderInfo);
}
else
{
if (!update_read_desktop_actively_monitored_order(s, orderInfo, &window->monitored_desktop))
return FALSE;
WLog_Print(update->log, WLOG_DEBUG, "ActivelyMonitoredDesktop");
IFCALL(window->MonitoredDesktop, context, orderInfo, &window->monitored_desktop);
}
return TRUE;
}
示例5: rdpdr_process_irp
static boolean rdpdr_process_irp(rdpdrPlugin* rdpdr, STREAM* data_in)
{
IRP* irp;
irp = irp_new(rdpdr->devman, data_in);
if (irp == NULL)
return False;
IFCALL(irp->device->IRPRequest, irp->device, irp);
return True;
}
示例6: audin_server_recv_open_reply
static boolean audin_server_recv_open_reply(audin_server* audin, STREAM* s, uint32 length)
{
uint32 Result;
if (length < 4)
return false;
stream_read_uint32(s, Result);
IFCALL(audin->context.OpenResult, &audin->context, Result);
return true;
}
示例7: update_recv_pointer
void update_recv_pointer(rdpUpdate* update, STREAM* s)
{
UINT16 messageType;
rdpContext* context = update->context;
rdpPointerUpdate* pointer = update->pointer;
stream_read_UINT16(s, messageType); /* messageType (2 bytes) */
stream_seek_UINT16(s); /* pad2Octets (2 bytes) */
switch (messageType)
{
case PTR_MSG_TYPE_POSITION:
update_read_pointer_position(s, &pointer->pointer_position);
IFCALL(pointer->PointerPosition, context, &pointer->pointer_position);
break;
case PTR_MSG_TYPE_SYSTEM:
update_read_pointer_system(s, &pointer->pointer_system);
IFCALL(pointer->PointerSystem, context, &pointer->pointer_system);
break;
case PTR_MSG_TYPE_COLOR:
update_read_pointer_color(s, &pointer->pointer_color);
IFCALL(pointer->PointerColor, context, &pointer->pointer_color);
break;
case PTR_MSG_TYPE_POINTER:
update_read_pointer_new(s, &pointer->pointer_new);
IFCALL(pointer->PointerNew, context, &pointer->pointer_new);
break;
case PTR_MSG_TYPE_CACHED:
update_read_pointer_cached(s, &pointer->pointer_cached);
IFCALL(pointer->PointerCached, context, &pointer->pointer_cached);
break;
default:
break;
}
}
示例8: shadow_client_send_surface_frame_marker
int shadow_client_send_surface_frame_marker(rdpShadowClient* client, UINT32 action, UINT32 id)
{
SURFACE_FRAME_MARKER surfaceFrameMarker;
rdpContext* context = (rdpContext*) client;
rdpUpdate* update = context->update;
surfaceFrameMarker.frameAction = action;
surfaceFrameMarker.frameId = id;
IFCALL(update->SurfaceFrameMarker, context, &surfaceFrameMarker);
return 1;
}
示例9: rdpdr_process_irp
static BOOL rdpdr_process_irp(rdpdrPlugin* rdpdr, STREAM* data_in)
{
IRP* irp;
irp = irp_new(rdpdr->devman, data_in);
if (irp == NULL)
return FALSE;
IFCALL(irp->device->IRPRequest, irp->device, irp);
return TRUE;
}
示例10: freerdp_context_free
/** Deallocator function for a rdp context.
* The function will deallocate the resources from the 'instance' parameter that were allocated from a call
* to freerdp_context_new().
* If the ContextFree callback is set in the 'instance' parameter, it will be called before deallocation occurs.
*
* @param instance - Pointer to the rdp_freerdp structure that was initialized by a call to freerdp_context_new().
* On return, the fields associated to the context are invalid.
*/
void freerdp_context_free(freerdp* instance)
{
if (instance->context == NULL)
return;
IFCALL(instance->ContextFree, instance, instance->context);
rdp_free(instance->context->rdp);
graphics_free(instance->context->graphics);
free(instance->context);
instance->context = NULL;
}
示例11: freerds_set_system_pointer
int freerds_set_system_pointer(rdsConnection* connection, RDS_MSG_SET_SYSTEM_POINTER* msg)
{
POINTER_SYSTEM_UPDATE *pointer_system;
rdpPointerUpdate* pointer = connection->client->update->pointer;
WLog_VRB(TAG, "%s", __FUNCTION__);
pointer_system = &(pointer->pointer_system);
pointer_system->type = msg->ptrType;
IFCALL(pointer->PointerSystem, (rdpContext *)connection, pointer_system);
return 0;
}
示例12: update_recv_notification_icon_info_order
void update_recv_notification_icon_info_order(rdpUpdate* update, STREAM* s, WINDOW_ORDER_INFO* orderInfo)
{
stream_read_uint32(s, orderInfo->windowId); /* windowId (4 bytes) */
stream_read_uint32(s, orderInfo->notifyIconId); /* notifyIconId (4 bytes) */
if (orderInfo->fieldFlags & WINDOW_ORDER_STATE_DELETED)
{
DEBUG_WND("Delete Notification Icon Deleted Order");
update_read_notification_icon_delete_order(s, orderInfo);
IFCALL(update->NotifyIconDelete, update, orderInfo);
}
else
{
DEBUG_WND("Notification Icon State Order");
update_read_notification_icon_state_order(s, orderInfo, &update->notify_icon_state);
if (orderInfo->fieldFlags & WINDOW_ORDER_STATE_NEW)
IFCALL(update->NotifyIconCreate, update, orderInfo, &update->notify_icon_state);
else
IFCALL(update->NotifyIconUpdate, update, orderInfo, &update->notify_icon_state);
}
}
示例13: update_gdi_patblt
void update_gdi_patblt(rdpUpdate* update, PATBLT_ORDER* patblt)
{
rdpBrush* brush = &patblt->brush;
rdpCache* cache = update->context->cache;
if (brush->style & CACHED_BRUSH)
{
brush->data = brush_cache_get(cache->brush, brush->index, &brush->bpp);
brush->style = 0x03;
}
IFCALL(cache->brush->PatBlt, update, patblt);
}
示例14: freerds_orders_send_switch_os_surface
int freerds_orders_send_switch_os_surface(rdsConnection* connection, int id)
{
SWITCH_SURFACE_ORDER switch_surface;
rdpAltSecUpdate* altsec = connection->client->update->altsec;
//printf("%s: id: %d\n", __FUNCTION__, id);
switch_surface.bitmapId = id & 0xFFFF;
IFCALL(altsec->SwitchSurface, (rdpContext*) connection, &switch_surface);
return 0;
}
示例15: freerds_set_pointer
int freerds_set_pointer(rdsConnection* connection, RDS_MSG_SET_POINTER* msg)
{
POINTER_NEW_UPDATE pointerNew;
POINTER_COLOR_UPDATE* pointerColor;
POINTER_CACHED_UPDATE pointerCached;
rdpPointerUpdate* pointer = connection->client->update->pointer;
//printf("%s\n", __FUNCTION__);
pointerColor = &(pointerNew.colorPtrAttr);
pointerColor->cacheIndex = 0;
pointerColor->xPos = msg->xPos;
pointerColor->yPos = msg->yPos;
pointerColor->width = 32;
pointerColor->height = 32;
pointerColor->lengthAndMask = 128;
pointerColor->lengthXorMask = 0;
pointerColor->xorMaskData = msg->xorMaskData;
pointerColor->andMaskData = msg->andMaskData;
if (!msg->xorBpp)
{
pointerColor->lengthXorMask = 3072;
IFCALL(pointer->PointerColor, (rdpContext*) connection, pointerColor);
}
else
{
pointerNew.xorBpp = msg->xorBpp;
pointerColor->lengthXorMask = ((msg->xorBpp + 7) / 8) * 32 * 32;
IFCALL(pointer->PointerNew, (rdpContext*) connection, &pointerNew);
}
pointerCached.cacheIndex = pointerColor->cacheIndex;
IFCALL(pointer->PointerCached, (rdpContext*) connection, &pointerCached);
return 0;
}