2016-11-14 130 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);