請問各位大大!
小弟最近研究API的呼叫,但是遇到要使用"結構體"的資料型態就不知道如何下手..如VB宣告結構體如下:
Public Structure LUID
Dim LowPart As Integer
Dim HighPart As Integer
End Structure
Public Structure LUID_AND_ATTRIBUTES
Dim pLuid As LUID
Dim Attributes As Integer
End Structure
Public Structure TOKEN_PRIVILEGES
Dim PrivilegeCount As Integer
Dim Privileges As LUID_AND_ATTRIBUTES
End Structure
請問以上的宣告要使用哪一個VI來設計?感謝!
Tomado38156.3082638889
LabVIEW應該沒有stureture的用法,就算是用VB,其實我也並不常看到有人用structure,是否是API一 定要先定義好變數的型別?
哇~不過有些API的確在C或VB中都使用結構傳遞的耶!!就是呼叫以下的API中使用到的....
Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
^^^^^^^^^^^^這個宣告,在配合以上結構使用....
如果這樣都做不到~哪Labview真的就讓我有點失望了!可能需要再使用C來封裝成DLL給LabView Call了....
Tomado38157.3987731481
原來這樣算是結構傳遞喔,抱歉,不是很懂
不過應該是要封成DLL再call吧
看其他人有沒有什麼意見囉
終於找到答案了...幫自己回答吧...
要设置一个指向结构的指针,在定义连接 动态连接库的对话框中,设 ;置参数的Type为Adapt to Type.然后把与指针指向的结构相同的Cluster连接到这&# 20010;参数的端口上就行了。

那句話是從哪裡找到的啊,我看不太懂,能否請你稍微再解釋的詳細一點
這句話是從大陸網站上所搜尋到的,已經足夠點醒我囉~~
內容是說如果Call DLL or API遇到是結構參數傳遞的話,在設置參數的選項要選"Adapt to Type",而結構參數就使用相同結構設計的Cluster連接。
不知道我這樣寫,你看不看的懂~~
懂~,不過不是很明確,因為這部份我沒接觸,但是有個概念總是比較好,又學了一點東西了