labview 进行dll调用,但是卡在解析头文件这里

labview 进行dll调用,但是卡在解析头文件这里,第1张

DLL文件会利用.h头文件来定义函数调用方法或者进行一些宏定义。如果你想把DLL函数导入到LabVIEW里面,LabVIEW必须知道这些非标准的定义。出现这个错误多半是因为.h文件没有在当前目录里,或者虽然.h在当前目录但是在.h里还有非c标准的无法识别的定义。

SHELLEXECUTEINFO 结构

参数详解:

cbSize

存储该结构的长度,以字节为单位。

fMask

一个标志数组,用来设置其他成员的有效性

SEE_MASK_CLASSKEY 0x3

SEE_MASK_CLASSNAME 0x1

SEE_MASK_CONNECTNETDRV 0x80

SEE_MASK_DOENVSUBST 0x200

SEE_MASK_FLAG_DDEWAIT 0x100

SEE_MASK_FLAG_LOG_USAGE 0x4000000

SEE_MASK_FLAG_NO_UI 0x400

SEE_MASK_HMONITOR 0x200000

SEE_MASK_HOTKEY 0x20

SEE_MASK_ICON 0x10

SEE_MASK_IDLIST 0x4

SEE_MASK_INVOKEIDLIST 0xC

SEE_MASK_NOASYNC 0x100000

SEE_MASK_NOCLOSEPROCESS 0x40

SEE_MASK_NOZONECHECKS 0x800000

SEE_MASK_NO_CONSOLE 0x8000

SEE_MASK_UNICODE 0x100000

SEE_MASK_FILEANDURL 0x4000000

hwnd

调用这个ShellExecuteEx的窗口句柄

lpVerb

设定这个ShellExecuteEx的动作,包括:

edit

打开编辑器编辑文档,如果 lpFile 不是一个文档,则这个函数会失败

explore

以 lpFile 为路径打开资源管理器

find

从指定目录开始搜索

open

根据 lpFile 打开对应文件,该文件可以为可执行文件、文档或者文件夹

print

根据 lpFile 打印文档,若lpFile不是一个文档则该函数会失败

properties

显示文件或文件夹的属性

lpFile

以\0 结尾的字符串,指出 lpVerb 的 *** 作对象的路径,被系统支持的 *** 作包括文本的 open 、 print等,其中print要求必须有一个已经注册的打印机,而其他种类的文档会通过系统关联进行查询执行。若要设置一个空的namespace,则需要设置fMask的值为see_mask_invokeidlist。

注意:若see_mask_invokeidlist已设置,则可以藉由lpFile或者lpIDList确定item的系统路径或者PIDL

lpParameters

运行/打开程序的参数,如果打开的是一个文档,则该项无效

lpDirectory

指明工作目录的名字,成员没有说明,则默认为当前目录

nShow

说明ShellExecuteEx打开的程序将以什么形式出现

hInstApp

如果函数运行成功,该项的值将大于32,否则会是下列错误对应的值

SE_ERR_FNF

没有找到文件

SE_ERR_PNF

没有找到路径

SE_ERR_ACCESSDENIED

拒绝访问

SE_ERR_OOM

内存不足

SE_ERR_DLLNOTFOUND

没有找到动态链接库

SE_ERR_SHARE

不能 *** 作一个以打开的文件

SE_ERR_ASSOCINCOMPLETE

文件关联信息不完整

SE_ERR_DDETIMEOUT

DDE *** 作超时

SE_ERR_DDEFAIL

DDE *** 作失败

SE_ERR_DDEBUSY

DDE繁忙

SE_ERR_NOASSOC

没有找到文件关联

lpIDList

一个itemidlist结构的地址,用来存储成员的特别标识符,当fMask不包括see_mask_idlist或see_mask_invokeidlist时该项被忽略

lpClass

用以指明文件类别的名字或GUID,当fMask不包括see_mask_classname时该项被忽略

hkeyClass

获得已在系统注册的文件类型的Handle,当fMask不包括see_mask_classkey时该项被忽略

dwHotKey

程序的热键关联,低位存储虚拟关键码(Key Code),高位存储修改标志位(HOTKEYF_),修改标志为(modifier flags)的详细列表请看wm_sethotkey消息的描述,当fmask不包括see_mask_hotkey时该项被忽略

DUMMYUNIONNAME

hIcon

取得对应文件类型的图标的Handle,当fMask不包括SEE_MASK_ICON时该项被忽略

hMonitor

将文档显示在显示器上的Handle,当fMask不包括SEE_MASK_HMONITOR时该项被忽略

hProcess

用于进行return *** 作的成员,若fMask不设为see_mask_nocloseprocess则该项值为null,即使fMask设为see_mask_nocloseprocess,若没有进程启动,该项值仍为null。即没有新的进程启动,则该项值一只为null

1. 这是内核源码的头文件,一般人不敢说都熟悉滴。

2. 以linux开头的的头文件,如<linux/file.h>对应源码目录树的include/linux/file.h

3. 以asm开头的头文件,如<asm/file.h>对应源码目录树的arch/***/include/asm/file.h, 其中***对应某个具体的平台。

4. 仔细研读并读懂过linux源码1/10的人,绝对是高手中的高手,不会出现在这里回答问题。

5. 我是菜鸟,源码只看了一点。

6. 劝楼主别浮躁,想学内核驱动,要能静的下来,认真看书。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11525394.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存