草庐IT

handle_request_ipc

全部标签

windows - 关于 127.0.0.1 和 IPC 使用套接字

我想我会在127.0.0.1上使用套接字来为我的应用程序创建简单的IPC。我的目标是Windows、Mac和Linux。我有几个问题:防火墙或其他工具能否阻止我在这3个操作系统中的任何一个上的连接连接速度快吗?有人告诉我,在Linux上,它使用管道传输数据。能否嗅探连接(编辑:例如可以使用RawCap嗅探。) 最佳答案 127.0.0.1(localhost)是环回接口(interface)。这一切都是内部的,不会影响电线。防火墙能挡住吗?不是外部防火墙,但也许在同一台机器上运行的软件防火墙可以。速度快吗?Asfastasitcan

c++ - 远程线程的 DuplicateHandle 失败,错误为 ERROR_INVALID_HANDLE

您好,我试图挂起一个远程线程,但在途中我偶然发现DuplicateHandle失败并出现错误6,ERROR_INVALID_HANDLE。下面的方法适用于当前进程,但如果给出了像“calc”(在同一主机中)这样的远程进程,则DuplicateHandle会失败。进程以Adminpriv运行,SeDebugPriv和SeSecurityPriv被授予(ProcessExplorer确认),但没有用。任何的想法?`boolDbgHelpWrapper::GetThreadStartAddress(IntPtrprocessHandle,DWORDprocessId,DWORDthreadI

C++ WinSock2 : WSA_INVALID_HANDLE on connect() call

美好的一天!我是一个在高级语言方面有一定经验的程序员,但这是我第一次深入研究低级语言的套接字代码,所以请多多包涵。我似乎在调用connect()时出错。在我的主要函数中,WSAGetLastError()打印出这是错误号6,根据MSDN是WSA_INVALID_HANDLE。这看起来很奇怪,因为在MSDNpagefortheconnect()function上没有详细说明该特定错误代码。(除非我要失明),而且我的谷歌搜索都没有结果我使用的是自定义socket_t结构,因为我的代码旨在(最终)跨平台。socket_connect()函数从主代码页调用。socket_t定义:typedef

c - 启动 Windows 驱动程序时出错 : The handle is invalid

我是一名Web开发人员,决定涉足内核模式开发。我安装了WDK8.1、VisualStudioProfessional2013,并设置了Windows7VM来调试和测试我的驱动程序。我从thistutorial开始我下载解决方案并构建驱动程序。我无法执行教程中描述的部署步骤,因此我尝试使用OSRDriverLoader安装驱动程序我能够注册驱动程序,但是当我尝试启动它时出现以下错误。C:\Windows\system32>sc启动KmfSmall[SC]启动服务失败6:句柄无效。这是驱动程序的代码:#include#includeDRIVER_INITIALIZEDriverEntry;

c++ - 在 CreateProcess 之后调用 GetModuleFileNameEx 时出现 ERROR_INVALID_HANDLE

成功调用CreateProcess后,我尝试使用GetModuleFileNameEx获取创建的进程的路径(lpApplicationName和lpCommandLine参数可以变化或为空,因此在这种情况下它们不可靠)。问题是GetModuleFileNameEx失败并出现错误6(ERROR_INVALID_HANDLE),从而使其缓冲区中包含无效数据。我无法理解原因,因为CreateProcess成功并且进程句柄应该已正确保存在pi.hProcess中。希望您能有所启发,在此先感谢您!编辑:更新:我注意到删除CREATE_SUSPENDED也可以解决此问题,但我需要设置该标志。我该怎

c++ - 将 32 位值转换为 HANDLE

我正在处理一个提供32位自定义句柄的组件,我想使用标准的WindowsHANDLE类型来包装它。在遗留组件中,我看到了以下两种转换方法的使用://valueis32-bitsautovalue=GetCustomHandle();HANDLEhA=HANDLE(value);HANDLEhB=(void*)(SIZE_T)value;hA和hB总是等价的吗?如果不是,在什么情况下不是?在这种情况下,我认为它们总是等价的,因为:函数式转换和类C转换之间没有区别。HANDLE等同于void*。void*和SIZE_T的大小在32位系统上为32位,在64位系统上为64位。谢谢。

windows - 是否存在函数 CreateFile 返回 INVALID_HANDLE_VALUE 而 GetLastError() 返回 ERROR_ALREADY_EXISTS 的情况

我在MSDN上搜索了一下HANDLEWINAPICreateFile(_In_LPCTSTRlpFileName,_In_DWORDdwDesiredAccess,_In_DWORDdwShareMode,_In_opt_LPSECURITY_ATTRIBUTESlpSecurityAttributes,_In_DWORDdwCreationDisposition,_In_DWORDdwFlagsAndAttributes,_In_opt_HANDLEhTemplateFile);如果dwCreationDisposition==CREATE_ALWAYS或OPEN_ALWAYS,它表

php - curl 窗口 : the provided file handle is not writable

我在执行curl请求时随机“无错误地挂起”。我正在尝试检测来源,因为Web服务器和php日志没有显示任何错误,所以我尝试启用CURLOT_STDERR。我有以下代码:$file='curl.txt';$curl=curl_init();$curl_log=fopen($file,'rw');var_export(is_writable($file));$url='http://www.google.com';curl_setopt_array($curl,array(CURLOPT_URL=>$url,CURLOPT_VERBOSE=>1,CURLOPT_STDERR=>$curl_l

c - FindWindow() 偶尔失败(尝试 IPC)

我在stackoverflow上的第一篇文章。我不是一个编码员,我有时会为了好玩而涉足编码,因此我不会花太多时间来理解基础知识,而是找到任何可行的解决方案,即使它有点“丑陋”.这让我想到了我的问题:我用C编写了一个简单的winapi程序,带有一个对话框和一个DlgProc。它接受文件并对它们做一些事情,比方说,为了简化,它所做的只是创建一个扩展名为*.BAK的文件副本。我已经在注册表(HKEY_CLASSES_ROOT*\shell\BKUP\command)中添加了一个键,这样我就可以在Windows资源管理器中选择几个文件,并可以选择“创建备份”来将它们的所有名称发送到我的程序,但

string - 批处理 : Handle numbers above 2^32

我想在依赖于我的可用存储空间的批处理文件中执行操作,但它失败了(有趣的是,只是有时),因为可用空间超过2GB,使得变量无法设置。这是批处理文件:cd"C:\Users\Fabian\Desktop\ScreenRecordings\Auto"for/F"usebackqdelims==tokens=2"%%xin(`wmiclogicaldiskwhere"DeviceID='C:'"getFreeSpace/format:value`)do(setFreeSpace=%%x)if(%FreeSpace%)LSS(2499522027520)(for/F"delims="%%ain('