草庐IT

get_attached_value

全部标签

c++ - get_id 和 GetCurrentThreadId 的区别

我想通过boost::thread::get_id和GetCurrentThreadId获取线程id。但结果却不同。我使用boost::thread来做多线程。为什么同一个线程使用get_id和GetCurrentThreadId有两个不同的id?boost::thread*dl_thread=m_thread_group.create_thread(boost::bind(download,url,dest));*threadId=*reinterpret_cast(&dl_thread->get_id());DWORDthreadIdsss=GetCurrentThreadId()

windows - 软件设计 : how to get DLL version number

我有一个用于合规性场景的DLL(其细节无关紧要)。重要的一点是主要可执行文件必须显示DLL版本号。我的解决方案是DLL有一个函数来返回它自己的版本-即从它自己的版本资源中获取它并将它作为字符串返回。我的评论者说主程序应该计算出DLL版本号。他甚至给了我一些代码来获取DLL模块句柄并使用它提取版本。我的问题是,哪个设计更好,为什么?我的感觉是,使用OO原则,我应该向DLL询问其版本号。换一种方式意味着主程序需要知道版本信息是如何存储的,因此与实现更紧密地耦合。请注意,我确切地知道如何从DLL中提取版本信息。我的问题是关于执行此操作的代码的最佳位置。 最佳答案

c++ - FSCTL_GET_RETRIEVAL_POINTERS 对小文件失败

我正在使用FSCTL_GET_RETRIEVAL_POINTERS获取文件的物理偏移量(扇区)。我面临的问题是我无法获取大小为1kb或更小的文件的扇区。我知道大小为1kb或更小的文件记录存储在MFT本身中。有人可以帮我获取此类文件的扇区吗?任何形式的帮助将不胜感激,如果有人可以向我提供执行相同操作的示例代码,那就更好了。提前致谢。 最佳答案 您需要解析文件$MFT以检索物理位置,该位置存储在属性0x80中。可以用winhex打开原始磁盘,查看这些小文件的文件记录。 关于c++-FSCTL

windows - Win7 : Get microphone mute status

我的主要目标是拥有一个程序,它允许我在Windows下使用“滚动锁定”键将我的麦克风静音/取消静音。由于键盘上的滚动锁定灯,这将给我一个很好的指示器,指示麦克风是否静音。如何获取有关麦克风状态的信息-是否静音?我可以调用任何dll来实现这个目标吗?谢谢 最佳答案 使用CoreAudioApi。你可以找到dllhere.使用此功能查找您的麦克风:privateListgMicrophoneDevices=newList();//globalvariableprivateboolfindMicrophones(){MMDeviceEnu

windows - 在 DllMain 中,是否可以在没有 DLL_THREAD_ATTACH 的情况下发生 DLL_THREAD_DETACH?

如果在我的DLL加载之前线程已经创建。然后,线程在我的DLL卸载之前退出。问题是:我的DllMain将收到DLL_THREAD_DETACH通知,还是没有关于退出线程的通知?感谢提前。 最佳答案 您会收到通知。它明确记录在MSDNarticle中对于DllMain:Therearecasesinwhichtheentry-pointfunctioniscalledforaterminatingthreadeveniftheentry-pointfunctionwasnevercalledwithDLL_THREAD_ATTACHfo

c++ - 在 dllmain()/DLL_PROCESS_ATTACH 中允许实例化 com 对象?

在DLLMAIN()/DLL_PROCESS_ATTACH中加载DLL可能会导致问题。但是COMObjects可以使用e.q.实例化。CoInitialize()/CoCreateInstance()?编辑:问题是:在这种情况下,创建COM实例会导致类似的错误,例如加载DLL吗?在我看来,加载DLL和创建COM实例在某种程度上是相似的。 最佳答案 我不确定你从哪里得到这句话,但听起来不对。永远不要将任何重要的代码放入DllMain中。特别是调用LoadLibrary的代码。许多WindowsAPI会在后台调用LoadLibrary,

windows - Powershell 设置项属性 : How does one pass a variable to the -value parameter?

问候,节日快乐!我希望这个问题没有在其他地方得到解答,因为我已经在Stack和Google上搜索了大约一个小时,还没有看到能够准确回答我想要完成的事情的示例或帖子。我创建了一个脚本来检查WindowsUpdate和WindowsUpdate\AU注册表项以及相关值以确保正确的数据配置。如果它们与所需配置不一致,则会更正它们。我在家,所以下面的脚本并不完全是我在工作中创建它的方式(我以不同的方式获得了我的注册表项/值),但应该让您大致了解我要做什么:param($comp,[string]$location)switch($location){"EAST"{$WUServerDesCon

windows - 批处理文件 : get absolute path of parent directory

这个问题在这里已经有了答案:Howtogetwindowsbatch'sparentfolder(4个答案)关闭3年前。我最近遇到需要获取当前正在执行的批处理文件的父目录的情况。在google和stackoverflow上搜索了解决方案,但可以找到一个干净简单的解决方案。

sql-server - msdb dbo sp send dbmail File attachment in SQL windows server 如何解决

我需要通过连接msdb.dbo.sp_send_dbmail附加远程桌面文件我在SQLServer中收到如下错误附件文件\example.com\E$\Attachments\test.txt无效。但是,如果我在RUN命令中键入它,它会正确打开文件,如果我设置本地文件路径,它会正常工作,没有错误。这个问题的根本原因是什么?下面是我的SQL查询。SET@v_recipients='email@example.com'SET@v_copy_recipients='email2@example3.com'SET@v_body='testmail'SET@v_subject='Testmail

c++ - 通过 IIS 应用程序池 w3wp.exe 调用 COM DLL 时未调用 DLL_THREAD_ATTACH

我在我的COMDLL中收到一些DLL_THREAD_ATTACH通知,但没有来自实际调用我的COMDLL的应用程序池工作线程。随后,从IIS发起的对DLL的调用到达从未调用过DLL_THREAD_ATTACH的线程。当DLL附加到dllhost.exe(通过DLL_PROCESS_ATTACH)时,仅通知应用程序池的第一个线程。这是缺陷还是功能,是否有任何解决方法? 最佳答案 DLL_THREAD_ATTACH经常被误解。您没有提供足够的信息,但您的问题很可能是由于此造成的:来自MSDNdocumentation,强调我的:DLL_