2016-11-14 128 views
1

如何將整數轉換爲LARGE_INTEGER?如何將整數轉換爲LARGE_INTEGER

例如,當我要立即觸發一個計時器:

LARGE_INTEGER zero; 
zero.QuadPart = 0; 
KeSetTimer(pTimer, zero, pDpc); 

有沒有什麼辦法比0轉換爲LARGE_INTEGER?所以,我能做到這一點,而不是:

KeSetTimer(pTimer, (SomeType)0, pDpc); 

我曾嘗試:

KeSetTimer(pTimer, (LARGE_INTEGER)0, pDpc); 

但它不工作。我已經Google了,但找不到任何幫助。

+2

考慮到你是在Windows和可能使用的Visual Studio,可能不行,但除此之外,你應該閱讀有關[複合文字](http://en.cppreference.com/w/c/language/compound_literal)。 –

回答

4

LARGE_INTEGERstruct。 不可能將值轉換爲結構類型。

您需要創建結構的實例並根據需要設置其字段。

例如:

LARGE_INTEGER intToLargeInt(int i) { 
    LARGE_INTEGER li; 
    li.QuadPart = i; 
    return li; 
} 

然後,您可以使用它像這樣:

KeSetTimer(pTimer, intToLargeInt(0), pDpc);