- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 WinCrypt.h 中我看到:
#define CERT_CHAIN_POLICY_SSL ((LPCSTR) 4)
WINCRYPT32API BOOL WINAPI CertVerifyCertificateChainPolicy(
IN LPCSTR pszPolicyOID,
IN PCCERT_CHAIN_CONTEXT pChainContext,
IN PCERT_CHAIN_POLICY_PARA pPolicyPara,
IN OUT PCERT_CHAIN_POLICY_STATUS pPolicyStatus
);
第一个参数采用 CERT_CHAIN_POLICY_SSL。这似乎是一个指向 C 字符串的指针,但它是一个整数!?
指针明明是一个32bit的整数,但是它指向的是什么呢?如果数字 < 255 它将占用一个字节,那么 C 字符串实际上是一个单字节“字符串”(即一个字节)吗?
当转换到另一种支持 BYTE 变量的语言时,我可以创建一个 bVar(一个 BYTE 变量)并将其赋值为 4。然后我可以传递一个指向该 BYTE 变量的指针吗?
最佳答案
有时,API 会采用一个参数,该参数可以是众所周知对象的“cookie”或 ID 或指向名称的指针(例如),这里似乎就是这种情况。 4
是众所周知的 CERT_CHAIN_POLICY_SSL
策略的 cookie/句柄/ID。 API 的某些用户可能会提前指定一个库不知道的策略,但由一个名称指定,它可以在某处(或注册表、配置文件或其他内容)查找。
以某种类似的方式,GetProcAddress()
可以使用指向您想要地址的函数名称的指针(这是今天 99% 的时间使用的方式),或者指向字符串的指针参数可以是指定函数序数的数字.
像这样重载指针参数是一种不幸的技术,有时用于使 API 更灵活。幸运的是,这并不是特别常见。
无论如何,如果你想从另一种语言调用这个 API 并指定 CERT_CHAIN_POLICY_SSL
策略,你需要为指针的值传递一个 4
(不是指针指向到值 4)。
关于c++ - 转换 : #define xxxxxx ((LPCSTR) 4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2055518/
我有一个由 Install Shield 通过 InstallScript 调用的 C++ API 函数: SQLHELPER_API LPCSTR GetAvailableAppName(LPCST
我收到这个错误 UINT GetDriveTypeA(LPCSTR)': cannot convert argument 1 from 'LPCWSTR' to 'LPCSTR' 下面是我的代码。 v
在 vc++ 中,我有一个包含两个项目的解决方案。项目 A 有一个 dllLoader.h 和 dllLoader.cpp 用 LoadLibrary 加载一个 dll 我需要调用它在项目 B 中的功
我目前有一个名为 TextureObject 的类。在创建函数中,我创建纹理,并将类中的 LPCSTR 分配给函数中给定的参数。当我稍后返回那个 LPCSTR 时,它以一种意想不到的方式返回。 某些类
简单的问题。 如何检查 LPCSTR 上第一个位置的字符是什么? 或者只检查第一个位置是否有空格? 最佳答案 给定一个名为 str 的 LPCSTR,您可以使用 str[0] 访问第一个字符。例如:
这个问题在这里已经有了答案: How do I iterate over the words of a string? (83 个回答) 关闭 5 年前。 我现在已经苦苦挣扎了好几天,因为我对 C+
我正在编写一个简单的 XOR 加密程序,然后我注意到函数的返回值不是我期望看到的那种。 我在我的代码中找不到问题,任何人都可以帮助我吗? 程序代码如下: #include "windows.h" #i
你好,我的代码有问题。 LPCSTR mergeString(LPCSTR firstString, std::string secondString) { string convertedS
我已经尝试过 strcmp 和 lstrcmp。我什至尝试用 strlen 来做,但也没有用,这就是我所拥有的 void check(LPCSTR lpText) { if( strmp(lp
我有两个 LPCSTR,我需要像这样连接起来: if (!rename(directory + originalFileName, directory + fileName)){ std::c
我正在读取一个 ini 文件,然后想执行一个外部程序(VBS 文件)。但是我在字符串类型方面遇到了问题。 这是我的代码。 LPCTSTR path = _T(".\\my.ini"); TCHAR f
我发现了一个比较两个 LPCSTR 的实现,它执行以下操作: void check(LPCSTR lpText) { if(lpText == input) { //
我正在尝试使用 atoi() 将 LPCSTR 转换为整数,并验证转换是否成功我想计算它生成的整数和原始 LPCSTR 中的位数(它应该只包含整数) 我很难找到计算 LPCSTR 长度的好方法。到目前
我在 C 中使用 Win32 API,需要将 GUID 结构转换为 LPCSTR。我对 Win32 比较陌生,并没有找到太多关于这种类型转换的信息。 我确实设法使用 StringFromGUID2 函
我目前正在进入 ctypes 模块,并尝试调用 user32 函数 GetWindowText带有我已经通过使用 FindWindow 收到的 HWND 句柄。这次我想进一步处理并使用函数原型(pro
我在尝试将 LPCWSTR 转换为 LPCSTR 时遇到问题。 一些背景 我正在编写一个 VC++ 2010 应用程序,并且已经遇到了我必须从类型 System::String^ 转换为 std::s
请问如何将 LPCSTR 转 WCHAR* 转换成 Unicode 项目?我在网上找不到太多内容。 最佳答案 如果您不包含AtlBase.h或AtlConv.h header , #include
我试图在一个 dll 包装器中创建一个 c++ 函数,它接受一个 char *,将它转换为 LPCSTR,然后将它用作 MessageBox 中的一个变量。该函数和转换在原始类中运行良好,但当我尝试在
从帮助我创建按钮和其他东西的网站获得此代码。这些按钮工作但由于某种原因我在创建静态时遇到编译器错误。 无法从“const wchar_t [5]”转换为“char” 无法将参数 3 从“char”转换
这个问题在这里已经有了答案: Why does calling c_str() on a function that returns a string not work? (4 个答案) 关闭 6
我是一名优秀的程序员,十分优秀!