草庐IT

handling-authorization-result

全部标签

c++ - 从 'OLE_HANDLE' 转换为 'HICON' 的正确方法是什么?

对于x64目标构建,从“OLE_HANDLE”转换为“HICON”的正确方法是什么?特别是对于普通的C风格转换,我在使用x64配置编译时收到此警告:警告C4312:“类型转换”:从“OLE_HANDLE”到更大尺寸的“HICON”的转换这是有问题的代码:imgList.Add((HICON)ohIcon);上面的代码对我来说工作正常,但我想在为x64构建时摆脱警告。 最佳答案 H泄露了它,在这种情况下,库代码创建了一个独特的类型,为您提供更多的类型安全性(在旧CAPI的时代)。它们实际上都是HANDLE,这是一个内核对象,它并不真正

c++ - 将 FILE * 或 HANDLE 转换(分配)到 Windows 中的 IStream

想要编写一个函数,该函数期望一个文件的打开句柄,并且出于某些目的将其转换为IStream以与Wrapper库进行交互我知道的一种方法是,我可以从HANDLE获得一个FILE*,但是我没有得到任何方法来将此FILE*或HANDLE直接转换或分配给IStream(COM)。 最佳答案 你可以试试getfilenamefromHANDLE然后createIStream从路径。 关于c++-将FILE*或HANDLE转换(分配)到Windows中的IStream,我们在StackOverflow

c - 在 Windows 的 C/C++ 中打开 com 端口时将 HANDLE 作为参数传递

所以我有如下内容:在我的main.c中HANDLE*hCom;success=openport(hCom);ReadFile(hCom......)//ThisProducesGarbledResultsopenport()函数:intopenport(HANDLE*hCom){hCom=CreateFile(......)ReadFile(hCom......)//ThisProducesGoodResultsreturn0;}当我在我的openport()函数中读取命令时,一切正常,但如果我在我的main.c中使用hCom,我会得到垃圾。我的问题是,我做错了什么/遗漏了什么?如有任

php - 通过 PHP、SQL STATE IM004、驱动程序在 SQL_HANDLE_ENV 上的 SQLAllocHandle 与 SQL Server 的连接错误

我已经对我的问题进行了搜索和谷歌搜索,但我仍然没有找到答案。我的问题是当通过PHPPDO/ODBC连接连接到我的SQLServer数据库时,我总是收到错误消息:“[Microsoft][ODBCDriverManager]SQL_HANDLE_ENV上的驱动程序SQLAllocHandle失败,SQLConnect中的SQL状态IM004”.但是我与Oracle或MySQL数据库的连接完全没有问题,只有SQLServer数据库。这是我测试连接的代码:$dbh=null;try{$dbh=newPDO('oci:dbname='.TNS,DB_USERNAME,DB_PASSWORD,n

c++ - WinHttpSetOption() 设置 TLSv1.2 失败,错误代码为 ERROR_INTERNET_INCORRECT_HANDLE_TYPE

我正在尝试使用提到的cpprestAPI调用从C++(Win)代码设置TLSv1.1或v1.2。但是WinHttpSetOption()失败并出现错误ERROR_INTERNET_INCORRECT_HANDLE_TYPE(12018)。操作系统:Windows(7/8)尝试通过注册表设置TLSv1.1和TLS1.2无效。尝试获取OpenSLL,但opensll1.0.1(支持TLS1.1及更多)不适用于Windows。尝试获取非native句柄未找到APIautofunc=[&](web::http::client::native_handlehandle){BOOLwin32Res

.net - 带有 winscard.dll 的 .NET 应用程序中的 ERROR_INVALID_HANDLE

我正在创建一个.NETWindows服务来与智能卡读卡器通信。主要组件是一个名为winscard.dll的WindowsDLL,我在.NET代码中将其与DLLImport属性一起使用。在WindowsXP32位上一切正常,但是当我在Windows7x64上运行它时,我在调用SCardTransmit时收到0x6ERROR_INVALID_HANDLE结果。该应用程序(作为命令行应用程序的服务)可以连接到读卡器,但无法从卡中读取任何内容。有什么想法吗? 最佳答案 SCardEstablishContext有问题,它将返回0但也处理0。

c++ - 将 HANDLE 转换为文件描述符

我有一个像这样的句柄:HANDLEhPipe=CreateNamedPipe(...)是否可以将hPipe转换为文件描述符(int)?我需要这个,因为我已经在C++中实现了一个代码来使用OpenSSL来处理TLS。这对TCP套接字来说就像一个魅力,但我真的需要在Namedpipe上使用它。OpenSSL的函数SSL_set_fd(SSL*ssl,intfd)只接受FileDescriptor,它是int,而不是HANDLE。注意:我也试过使用下面的函数,但没有用(返回3):intfd=_open_osfhandle(reinterpret_cast(hPipe),0);

windows - 为什么使用 GetFileSizeEx() 时会出现 "Invalid handle"错误,文件标记为只读?

当我在只读文件上使用我的Delphi6应用程序中的WindowsAPI调用GetFileSizeEx()时,我收到操作系统错误代码6(“无效文件句柄”)。如果我从文件中删除只读属性,错误就会消失。为什么我会收到该错误,有没有办法对只读文件使用该调用或类似调用?相关代码如下:functionGetFileSizeEx(hFile:THandle;varFileSize:Int64):BOOL;stdcall;external'kernel32.dll'name'GetFileSizeEx';functioneasyGetFileSize(theFileHandle:THandle):In

c - HANDLE - 文件句柄和目录句柄结构

语言:C操作系统:Windows我的应用程序是用nt级别的api构建的,必须操作文件和目录句柄。在Zwopenfile或zwcreate文件上,我得到一个HANDLE作为结果。通常HANDLE的值类似于0x00000024、28,2c...等。当我将其转换为LPBYTE以查看内容时。VisualStudio显示“无法评估表达式”。我了解到从创建/打开文件api返回的HANDLE不是指向内存位置的指针。但是,Windows使用该值并执行文件操作。Ntquerydirectory对象为我提供了有关句柄的信息。然而,Windows是如何实现这个功能的还不得而知。任何人都可以阐明它。

windows - 批处理 : Search for string to skip lines above and write results to new file

我已经成功地编写了一个脚本,它接受一个字符串来在特定文件中搜索,然后输出它第一次出现的行,然后我将该值放入for循环并跳过解析该行数并将其内容写入新文件。但是,我没有得到空行,我发现这些空行很难解决。我要搜索的字符串是“/]”,在它出现的地方缓存行号,然后用逗号分隔将它累积到一个变量中。然后我将该变量再次放入for循环中,并检索第一个出现的值作为我的最终“跳过此行数”变量,然后我在底部使用for循环再次读取该文件并将其值写入一个新文件并跳过文件开头的行数。下面是执行我上面描述的脚本的部分:setlocalenabledelayedexpansionsetlocalenableexten