本文整理汇总了C++中LogFlowFuncEnter函数的典型用法代码示例。如果您正苦于以下问题:C++ LogFlowFuncEnter函数的具体用法?C++ LogFlowFuncEnter怎么用?C++ LogFlowFuncEnter使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了LogFlowFuncEnter函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: PDMBOTHCBDECL
/**
* @interface_method_impl{FNPDMDRVREQHANDLERR0}
*/
PDMBOTHCBDECL(int) drvR0HostParallelReqHandler(PPDMDRVINS pDrvIns, uint32_t uOperation, uint64_t u64Arg)
{
int rc;
LogFlowFuncEnter();
/* I have included break after each case. Need to work on this. */
switch ((DRVHOSTPARALLELR0OP)uOperation)
{
case DRVHOSTPARALLELR0OP_READ:
rc = drvR0HostParallelReqRead(pDrvIns, u64Arg);
break;
case DRVHOSTPARALLELR0OP_READSTATUS:
rc = drvR0HostParallelReqReadStatus(pDrvIns, u64Arg);
break;
case DRVHOSTPARALLELR0OP_READCONTROL:
rc = drvR0HostParallelReqReadControl(pDrvIns, u64Arg);
break;
case DRVHOSTPARALLELR0OP_WRITE:
rc = drvR0HostParallelReqWrite(pDrvIns, u64Arg);
break;
case DRVHOSTPARALLELR0OP_WRITECONTROL:
rc = drvR0HostParallelReqWriteControl(pDrvIns, u64Arg);
break;
case DRVHOSTPARALLELR0OP_SETPORTDIRECTION:
rc = drvR0HostParallelReqSetPortDir(pDrvIns, u64Arg);
break;
default: /* not supported */
rc = VERR_NOT_SUPPORTED;
}
LogFlowFuncLeave();
return rc;
}
开发者ID:Klanly,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:35,代码来源:DrvHostParallel.cpp
示例2: DECLINLINE
DECLINLINE(int) pftpSessionOpenFile(PNATState pData, PTFTPSESSION pTftpSession, PRTFILE pSessionFile)
{
char aszSessionFileName[TFTP_FILENAME_MAX];
size_t cbSessionFileName;
int rc = VINF_SUCCESS;
LogFlowFuncEnter();
cbSessionFileName = RTStrPrintf(aszSessionFileName, TFTP_FILENAME_MAX, "%s/%s",
tftp_prefix, pTftpSession->pszFilename);
if (cbSessionFileName >= TFTP_FILENAME_MAX)
{
LogFlowFuncLeaveRC(VERR_INTERNAL_ERROR);
return VERR_INTERNAL_ERROR;
}
LogFunc(("aszSessionFileName: %s\n", aszSessionFileName));
if (!RTFileExists(aszSessionFileName))
{
LogFlowFuncLeaveRC(VERR_FILE_NOT_FOUND);
return VERR_FILE_NOT_FOUND;
}
rc = RTFileOpen(pSessionFile, aszSessionFileName, RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_WRITE);
LogFlowFuncLeaveRC(rc);
return rc;
}
开发者ID:ryenus,项目名称:vbox,代码行数:25,代码来源:tftp.c
示例3: LogFlowFuncEnter
GuestDnD::~GuestDnD(void)
{
LogFlowFuncEnter();
if (m_pResponse)
delete m_pResponse;
}
开发者ID:Klanly,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:7,代码来源:GuestDnDPrivate.cpp
示例4: NOREF
int UIDnDHandler::dragStart(ulong screenID)
{
int rc;
#ifdef VBOX_WITH_DRAG_AND_DROP_GH
NOREF(screenID);
LogFlowFuncEnter();
/* Sanity checks. */
if ( !m_dataSource.lstFormats.size()
|| m_dataSource.defaultAction == KDnDAction_Ignore
|| !m_dataSource.vecActions.size())
{
return VERR_INVALID_PARAMETER;
}
setOpMode(DNDMODE_GUESTTOHOST);
rc = dragStartInternal(m_dataSource.lstFormats,
toQtDnDAction(m_dataSource.defaultAction), toQtDnDActions(m_dataSource.vecActions));
#else /* !VBOX_WITH_DRAG_AND_DROP_GH */
NOREF(screenID);
rc = VERR_NOT_SUPPORTED;
#endif /* VBOX_WITH_DRAG_AND_DROP_GH */
LogFlowFuncLeaveRC(rc);
return rc;
}
开发者ID:jeppeter,项目名称:vbox,代码行数:33,代码来源:UIDnDHandler.cpp
示例5: LogFlowFuncEnter
void UIDnDHandler::reset(void)
{
LogFlowFuncEnter();
m_fDataRetrieved = false;
m_fIsPending = false;
setOpMode(DNDMODE_UNKNOWN);
}
开发者ID:jeppeter,项目名称:vbox,代码行数:9,代码来源:UIDnDHandler.cpp
示例6: supSvcWinRunIt
/**
* Handle the 'create' action.
*
* @returns 0 or 1.
* @param argc The action argument count.
* @param argv The action argument vector.
*/
static int supSvcWinRunIt(int argc, char **argv)
{
LogFlowFuncEnter();
/*
* Initialize release logging.
*/
/** @todo release logging of the system-wide service. */
/*
* Parse the arguments.
*/
static const RTOPTIONDEF s_aOptions[] =
{
{ "--dummy", 'd', RTGETOPT_REQ_NOTHING }
};
int iArg = 0;
int ch;
RTGETOPTUNION Value;
while ((ch = RTGetOpt(argc, argv, s_aOptions, RT_ELEMENTS(s_aOptions), &iArg, &Value)))
switch (ch)
{
default: return supSvcDisplayGetOptError("runit", ch, argc, argv, iArg, &Value);
}
if (iArg != argc)
return supSvcDisplayTooManyArgsError("runit", argc, argv, iArg);
/*
* Register the service with the service control manager
* and start dispatching requests from it (all done by the API).
*/
static SERVICE_TABLE_ENTRY const s_aServiceStartTable[] =
{
{ SUPSVC_SERVICE_NAME, supSvcWinServiceMain },
{ NULL, NULL}
};
if (StartServiceCtrlDispatcher(&s_aServiceStartTable[0]))
{
LogFlowFuncLeave();
return 0; /* told to quit, so quit. */
}
DWORD err = GetLastError();
switch (err)
{
case ERROR_FAILED_SERVICE_CONTROLLER_CONNECT:
supSvcDisplayError("Cannot run a service from the command line. Use the 'start' action to start it the right way.\n");
break;
default:
supSvcLogError("StartServiceCtrlDispatcher failed, err=%d", err);
break;
}
return 1;
}
开发者ID:bayasist,项目名称:vbox,代码行数:61,代码来源:SUPSvc-win.cpp
示例7: DECLCALLBACK
/** VM IPC mutex holder thread */
DECLCALLBACK(int) IPCMutexHolderThread (RTTHREAD Thread, void *pvUser)
{
LogFlowFuncEnter();
Assert (pvUser);
void **data = (void **) pvUser;
Utf8Str ipcId = (BSTR)data[0];
RTSEMEVENT finishSem = (RTSEMEVENT)data[1];
LogFlowFunc (("ipcId='%s', finishSem=%p\n", ipcId.raw(), finishSem));
HMTX ipcMutex = NULLHANDLE;
APIRET arc = ::DosOpenMutexSem ((PSZ) ipcId.raw(), &ipcMutex);
AssertMsg (arc == NO_ERROR, ("cannot open IPC mutex, arc=%ld\n", arc));
if (arc == NO_ERROR)
{
/* grab the mutex */
LogFlowFunc (("grabbing IPC mutex...\n"));
arc = ::DosRequestMutexSem (ipcMutex, SEM_IMMEDIATE_RETURN);
AssertMsg (arc == NO_ERROR, ("cannot grab IPC mutex, arc=%ld\n", arc));
if (arc == NO_ERROR)
{
/* store the answer */
data[2] = (void*)true;
/* signal we're done */
int vrc = RTThreadUserSignal (Thread);
AssertRC(vrc);
/* wait until we're signaled to release the IPC mutex */
LogFlowFunc (("waiting for termination signal..\n"));
vrc = RTSemEventWait (finishSem, RT_INDEFINITE_WAIT);
Assert (arc == ERROR_INTERRUPT || ERROR_TIMEOUT);
/* release the IPC mutex */
LogFlowFunc (("releasing IPC mutex...\n"));
arc = ::DosReleaseMutexSem (ipcMutex);
AssertMsg (arc == NO_ERROR, ("cannot release mutex, arc=%ld\n", arc));
}
::DosCloseMutexSem (ipcMutex);
}
/* store the answer */
data[1] = (void*)false;
/* signal we're done */
int vrc = RTThreadUserSignal (Thread);
AssertRC(vrc);
LogFlowFuncLeave();
return 0;
}
开发者ID:quiquetux,项目名称:jokte-ba-as,代码行数:55,代码来源:SessionImpl.cpp
示例8: LogFlowFuncEnter
HRESULT VFSExplorer::i_deleteS3(TaskVFSExplorer *aTask)
{
LogFlowFuncEnter();
AutoCaller autoCaller(this);
if (FAILED(autoCaller.rc())) return autoCaller.rc();
AutoWriteLock appLock(this COMMA_LOCKVAL_SRC_POS);
HRESULT rc = S_OK;
RTS3 hS3 = NULL;
float fPercentStep = 100.0f / aTask->filenames.size();
try
{
int vrc = RTS3Create(&hS3, m->strUsername.c_str(), m->strPassword.c_str(),
m->strHostname.c_str(), "virtualbox-agent/" VBOX_VERSION_STRING);
if (RT_FAILURE(vrc))
throw setError(E_FAIL, tr ("Can't open S3 storage service (%Rrc)"), vrc);
RTS3SetProgressCallback(hS3, VFSExplorer::TaskVFSExplorer::uploadProgress, &aTask);
std::list<Utf8Str>::const_iterator it;
size_t i = 0;
for (it = aTask->filenames.begin();
it != aTask->filenames.end();
++it, ++i)
{
vrc = RTS3DeleteKey(hS3, m->strBucket.c_str(), (*it).c_str());
if (RT_FAILURE(vrc))
throw setError(VBOX_E_FILE_ERROR, tr ("Can't delete file '%s' (%Rrc)"), (*it).c_str(), vrc);
if (aTask->progress)
aTask->progress->SetCurrentOperationProgress((ULONG)(fPercentStep * i));
}
}
catch(HRESULT aRC)
{
rc = aRC;
}
aTask->rc = rc;
if (hS3 != NULL)
RTS3Destroy(hS3);
if (!aTask->progress.isNull())
aTask->progress->i_notifyComplete(rc);
LogFlowFunc(("rc=%Rhrc\n", rc));
LogFlowFuncLeave();
return VINF_SUCCESS;
}
开发者ID:mcenirm,项目名称:vbox,代码行数:53,代码来源:VFSExplorerImpl.cpp
示例9: LogFlowFuncEnter
void VBoxDnDDropTarget::reset(void)
{
LogFlowFuncEnter();
if (mpvData)
{
RTMemFree(mpvData);
mpvData = NULL;
}
mcbData = 0;
RT_ZERO(mFormatEtc);
mFormats = "";
}
开发者ID:egraba,项目名称:vbox_openbsd,代码行数:14,代码来源:VBoxDnDDropTarget.cpp
示例10: handler
/**
* Implementation code for the "create base" task.
* Used as function for execution from a standalone thread.
*/
void handler()
{
LogFlowFuncEnter();
try
{
mRC = executeTask(); /* (destructor picks up mRC, see above) */
LogFlowFunc(("rc=%Rhrc\n", mRC));
}
catch (...)
{
LogRel(("Some exception in the function MediumIO::StreamTask:handler()\n"));
}
LogFlowFuncLeave();
}
开发者ID:mdaniel,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:19,代码来源:MediumIOImpl.cpp
示例11: DECLCALLBACK
/* static */
DECLCALLBACK(int) VFSExplorer::TaskVFSExplorer::taskThread(RTTHREAD /* aThread */, void *pvUser)
{
std::auto_ptr<TaskVFSExplorer> task(static_cast<TaskVFSExplorer*>(pvUser));
AssertReturn(task.get(), VERR_GENERAL_FAILURE);
VFSExplorer *pVFSExplorer = task->pVFSExplorer;
LogFlowFuncEnter();
LogFlowFunc(("VFSExplorer %p\n", pVFSExplorer));
HRESULT rc = S_OK;
switch(task->taskType)
{
case TaskVFSExplorer::Update:
{
if (pVFSExplorer->m->storageType == VFSType_File)
rc = pVFSExplorer->i_updateFS(task.get());
else if (pVFSExplorer->m->storageType == VFSType_S3)
#ifdef VBOX_WITH_S3
rc = pVFSExplorer->i_updateS3(task.get());
#else
rc = VERR_NOT_IMPLEMENTED;
#endif
break;
}
case TaskVFSExplorer::Delete:
{
if (pVFSExplorer->m->storageType == VFSType_File)
rc = pVFSExplorer->i_deleteFS(task.get());
else if (pVFSExplorer->m->storageType == VFSType_S3)
#ifdef VBOX_WITH_S3
rc = pVFSExplorer->i_deleteS3(task.get());
#else
rc = VERR_NOT_IMPLEMENTED;
#endif
break;
}
default:
AssertMsgFailed(("Invalid task type %u specified!\n", task->taskType));
break;
}
LogFlowFunc(("rc=%Rhrc\n", rc)); NOREF(rc);
LogFlowFuncLeave();
return VINF_SUCCESS;
}
开发者ID:mcenirm,项目名称:vbox,代码行数:49,代码来源:VFSExplorerImpl.cpp
示例12: LogFlowFuncEnter
int GuestCtrlCallback::Init(eVBoxGuestCtrlCallbackType enmType)
{
LogFlowFuncEnter();
AssertReturn(enmType > VBOXGUESTCTRLCALLBACKTYPE_UNKNOWN, VERR_INVALID_PARAMETER);
Assert((pvData == NULL) && !cbData);
switch (enmType)
{
case VBOXGUESTCTRLCALLBACKTYPE_EXEC_START:
{
pvData = (PCALLBACKDATAEXECSTATUS)RTMemAlloc(sizeof(CALLBACKDATAEXECSTATUS));
AssertPtrReturn(pvData, VERR_NO_MEMORY);
RT_BZERO(pvData, sizeof(CALLBACKDATAEXECSTATUS));
cbData = sizeof(CALLBACKDATAEXECSTATUS);
break;
}
case VBOXGUESTCTRLCALLBACKTYPE_EXEC_OUTPUT:
{
pvData = (PCALLBACKDATAEXECOUT)RTMemAlloc(sizeof(CALLBACKDATAEXECOUT));
AssertPtrReturn(pvData, VERR_NO_MEMORY);
RT_BZERO(pvData, sizeof(CALLBACKDATAEXECOUT));
cbData = sizeof(CALLBACKDATAEXECOUT);
break;
}
case VBOXGUESTCTRLCALLBACKTYPE_EXEC_INPUT_STATUS:
{
PCALLBACKDATAEXECINSTATUS pData = (PCALLBACKDATAEXECINSTATUS)RTMemAlloc(sizeof(CALLBACKDATAEXECINSTATUS));
AssertPtrReturn(pData, VERR_NO_MEMORY);
RT_BZERO(pData, sizeof(CALLBACKDATAEXECINSTATUS));
cbData = sizeof(CALLBACKDATAEXECINSTATUS);
break;
}
default:
AssertMsgFailed(("Unknown callback type specified (%d)\n", enmType));
break;
}
int rc = GuestCtrlEvent::Init();
if (RT_SUCCESS(rc))
mType = enmType;
LogFlowFuncLeaveRC(rc);
return rc;
}
开发者ID:greg100795,项目名称:virtualbox,代码行数:48,代码来源:GuestCtrlPrivate.cpp
示例13: m_pGuest
GuestDnD::GuestDnD(const ComObjPtr<Guest> &pGuest)
: m_pGuest(pGuest)
{
LogFlowFuncEnter();
m_pResponse = new GuestDnDResponse(pGuest);
/* List of supported default MIME types. */
LogRel2(("DnD: Supported default host formats:\n"));
const com::Utf8Str arrEntries[] = { VBOX_DND_FORMATS_DEFAULT };
for (size_t i = 0; i < RT_ELEMENTS(arrEntries); i++)
{
m_strDefaultFormats.push_back(arrEntries[i]);
LogRel2(("DnD: \t%s\n", arrEntries[i].c_str()));
}
}
开发者ID:Klanly,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:16,代码来源:GuestDnDPrivate.cpp
示例14: VBoxNetBaseService
VBoxNetLwipNAT::VBoxNetLwipNAT(SOCKET icmpsock4, SOCKET icmpsock6) : VBoxNetBaseService("VBoxNetNAT", "nat-network")
{
LogFlowFuncEnter();
m_ProxyOptions.ipv6_enabled = 0;
m_ProxyOptions.ipv6_defroute = 0;
m_ProxyOptions.icmpsock4 = icmpsock4;
m_ProxyOptions.icmpsock6 = icmpsock6;
m_ProxyOptions.tftp_root = NULL;
m_ProxyOptions.src4 = NULL;
m_ProxyOptions.src6 = NULL;
RT_ZERO(m_src4);
RT_ZERO(m_src6);
m_src4.sin_family = AF_INET;
m_src6.sin6_family = AF_INET6;
#if HAVE_SA_LEN
m_src4.sin_len = sizeof(m_src4);
m_src6.sin6_len = sizeof(m_src6);
#endif
m_ProxyOptions.nameservers = NULL;
m_LwipNetIf.name[0] = 'N';
m_LwipNetIf.name[1] = 'T';
RTMAC mac;
mac.au8[0] = 0x52;
mac.au8[1] = 0x54;
mac.au8[2] = 0;
mac.au8[3] = 0x12;
mac.au8[4] = 0x35;
mac.au8[5] = 0;
setMacAddress(mac);
RTNETADDRIPV4 address;
address.u = RT_MAKE_U32_FROM_U8( 10, 0, 2, 2); // NB: big-endian
setIpv4Address(address);
address.u = RT_H2N_U32_C(0xffffff00);
setIpv4Netmask(address);
fDontLoadRulesOnStartup = false;
for(unsigned int i = 0; i < RT_ELEMENTS(g_aGetOptDef); ++i)
addCommandLineOption(&g_aGetOptDef[i]);
LogFlowFuncLeave();
}
开发者ID:bayasist,项目名称:vbox,代码行数:47,代码来源:VBoxNetLwipNAT.cpp
示例15: DECLCALLBACK
DECLCALLBACK(int) VBoxSeamlessInit(const PVBOXSERVICEENV pEnv, void **ppInstance)
{
LogFlowFuncEnter();
PVBOXSEAMLESSCONTEXT pCtx = &g_Ctx; /* Only one instance at the moment. */
AssertPtr(pCtx);
pCtx->pEnv = pEnv;
pCtx->hModHook = NIL_RTLDRMOD;
OSVERSIONINFO OSinfo;
OSinfo.dwOSVersionInfoSize = sizeof (OSinfo);
GetVersionEx (&OSinfo);
int rc;
/* We have to jump out here when using NT4, otherwise it complains about
a missing API function "UnhookWinEvent" used by the dynamically loaded VBoxHook.dll below */
if (OSinfo.dwMajorVersion <= 4) /* Windows NT 4.0 or older */
{
Log(("VBoxTray: VBoxSeamlessInit: Windows NT 4.0 or older not supported!\n"));
rc = VERR_NOT_SUPPORTED;
}
else
{
/* Will fail if SetWinEventHook is not present (version < NT4 SP6 apparently) */
rc = RTLdrLoadAppPriv(VBOXHOOK_DLL_NAME, &pCtx->hModHook);
if (RT_SUCCESS(rc))
{
*(PFNRT *)&pCtx->pfnVBoxHookInstallWindowTracker = RTLdrGetFunction(pCtx->hModHook, "VBoxHookInstallWindowTracker");
*(PFNRT *)&pCtx->pfnVBoxHookRemoveWindowTracker = RTLdrGetFunction(pCtx->hModHook, "VBoxHookRemoveWindowTracker");
/* rc should contain success status */
AssertRC(rc); /** @todo r=andy Makes no sense here!? */
VBoxSeamlessSetSupported(TRUE);
*ppInstance = pCtx;
}
else
LogFlowFunc(("Unable to load %s, rc=%Rrc\n", VBOXHOOK_DLL_NAME, rc));
}
LogFlowFuncLeaveRC(rc);
return rc;
}
开发者ID:bhanug,项目名称:virtualbox,代码行数:46,代码来源:VBoxSeamless.cpp
示例16: DECLCALLBACK
/**
* @interface_method_impl(PDMINVRAM,pfnFlushNvramStorage)
*/
DECLCALLBACK(int) drvNvram_pfnFlushNvramStorage(PPDMINVRAM pInterface)
{
int rc = VINF_SUCCESS;
LogFlowFuncEnter();
PNVRAM pThis = RT_FROM_MEMBER(pInterface, NVRAM, INvram);
if (!pThis->fPermanentSave)
{
LogFlowFuncLeaveRC(rc);
return rc;
}
for (int idxVariable = 0; idxVariable < pThis->cLoadedVariables; ++idxVariable)
{
drvNvram_pfnStoreNvramValue(pInterface, idxVariable, NULL, NULL, 0, NULL, 0);
}
LogFlowFuncLeaveRC(rc);
return rc;
}
开发者ID:leopucci,项目名称:VirtualMonitor,代码行数:21,代码来源:Nvram.cpp
示例17: DECLCALLBACK
static DECLCALLBACK(int) drvHostALSAAudioInit(PPDMIHOSTAUDIO pInterface)
{
NOREF(pInterface);
LogFlowFuncEnter();
int rc = audioLoadAlsaLib();
if (RT_FAILURE(rc))
LogRel(("ALSA: Failed to load the ALSA shared library, rc=%Rrc\n", rc));
else
{
#ifdef DEBUG
snd_lib_error_set_handler(drvHostALSAAudioErrorHandler);
#endif
}
return rc;
}
开发者ID:stefano-garzarella,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:18,代码来源:DrvHostALSAAudio.cpp
示例18: DECLCALLBACK
DECLCALLBACK(int) VBoxClipboardInit(const PVBOXSERVICEENV pEnv, void **ppInstance)
{
LogFlowFuncEnter();
PVBOXCLIPBOARDCONTEXT pCtx = &g_Ctx; /* Only one instance for now. */
AssertPtr(pCtx);
if (pCtx->pEnv)
{
/* Clipboard was already initialized. 2 or more instances are not supported. */
return VERR_NOT_SUPPORTED;
}
if (VbglR3AutoLogonIsRemoteSession())
{
/* Do not use clipboard for remote sessions. */
LogRel(("Clipboard: Clipboard has been disabled for a remote session\n"));
return VERR_NOT_SUPPORTED;
}
RT_BZERO(pCtx, sizeof(VBOXCLIPBOARDCONTEXT));
pCtx->pEnv = pEnv;
/* Check that new Clipboard API is available */
VBoxClipboardWinCheckAndInitNewAPI(&pCtx->Win.newAPI);
int rc = VbglR3ClipboardConnect(&pCtx->u32ClientID);
if (RT_SUCCESS(rc))
{
rc = vboxClipboardCreateWindow(pCtx);
if (RT_SUCCESS(rc))
{
*ppInstance = pCtx;
}
else
{
VbglR3ClipboardDisconnect(pCtx->u32ClientID);
}
}
LogFlowFuncLeaveRC(rc);
return rc;
}
开发者ID:mdaniel,项目名称:virtualbox-org-svn-vbox-trunk,代码行数:44,代码来源:VBoxClipboard.cpp
示例19: VBoxSeamlessDestroy
void VBoxSeamlessDestroy(void *pInstance)
{
LogFlowFuncEnter();
PVBOXSEAMLESSCONTEXT pCtx = (PVBOXSEAMLESSCONTEXT)pInstance;
AssertPtr(pCtx);
VBoxSeamlessSetSupported(FALSE);
/* Inform the host that we no longer support the seamless window mode. */
if (pCtx->pfnVBoxHookRemoveWindowTracker)
pCtx->pfnVBoxHookRemoveWindowTracker();
if (pCtx->hModHook != NIL_RTLDRMOD)
{
RTLdrClose(pCtx->hModHook);
pCtx->hModHook = NIL_RTLDRMOD;
}
return;
}
开发者ID:bhanug,项目名称:virtualbox,代码行数:19,代码来源:VBoxSeamless.cpp
示例20: DECLCALLBACK
/* static */
DECLCALLBACK(int) GuestTask::taskThread(RTTHREAD /* aThread */, void *pvUser)
{
std::auto_ptr<GuestTask> task(static_cast<GuestTask*>(pvUser));
AssertReturn(task.get(), VERR_GENERAL_FAILURE);
ComObjPtr<Guest> pGuest = task->pGuest;
LogFlowFuncEnter();
HRESULT rc = S_OK;
switch (task->taskType)
{
#ifdef VBOX_WITH_GUEST_CONTROL
case TaskType_CopyFileToGuest:
{
rc = pGuest->taskCopyFileToGuest(task.get());
break;
}
case TaskType_CopyFileFromGuest:
{
rc = pGuest->taskCopyFileFromGuest(task.get());
break;
}
case TaskType_UpdateGuestAdditions:
{
rc = pGuest->taskUpdateGuestAdditions(task.get());
break;
}
#endif
default:
AssertMsgFailed(("Invalid task type %u specified!\n", task->taskType));
break;
}
LogFlowFunc(("rc=%Rhrc\n", rc));
LogFlowFuncLeave();
return VINF_SUCCESS;
}
开发者ID:quiquetux,项目名称:jokte-ba-as,代码行数:41,代码来源:GuestCtrlImplTasks.cpp
注:本文中的LogFlowFuncEnter函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论