2016-03-13 186 views
-1

這是一個功能的VirtualBox的簽名:無名無效指針作爲參數?

static DECLCALLBACK(void) svcCall (void *, 
            VBOXHGCMCALLHANDLE callHandle, 
            uint32_t u32ClientID, 
            void *pvClient, 
            uint32_t u32Function, 
            uint32_t cParms, 
            VBOXHGCMSVCPARM paParms[]) 

我不知道什麼的第一個參數,void *的解釋是:和一個如何使用它。

它的用途是什麼?

回答

1

它可能不用於該實現。離開它沒有名字的避免了編譯器警告

unused parameter xyz 

知道這個參數意味着你應該看看回調函數的聲明,而不是任意的實現。

+0

我沒有想到這種可能性。我實際上找到了該函數的其他示例,其中第一個參數是「void * pvService」。不知道現在是什麼意思,但至少我現在有一個答案,謝謝。 – Minix

0

什麼的第一個參數,無效*的解釋是:

這意味着,第一個參數是void*類型。不給這個參數一個名字意味着這個參數沒有被使用。

一個如何與它的工作

一個沒有,一個becase的可以用它不工作。

它的用途是什麼?

如果你想要一個明確的答案,你應該問問寫了它的VirtualBox開發人員。我不是他們,但我可以給你一個猜測:

也許,該函數用作回調。並且回調被指定爲具有void指針作爲第一個參數。但是這個特殊的回調函數不需要void指針的值。