我刚开始做一些Win32编程,对函数感到困惑:
BOOL BuildCommDCB(LPCTSTR szSettings, LPDCB lpDCB);
LPDCB结构的描述指出“它指向控制设置信息所在的DCB结构
“返回”。但我的问题是,当返回值是a
BOOL
时,如何返回DCB结构? 最佳答案
LPDCB
是指向您提供的结构(1)的指针,BuildCommDCB()
将填充该结构,并返回成功指示器。
这和功能没什么不同:
int setTo13AndReturn42 (int *pInt) {
*pInt = 13;
return 42;
}
当与以下人员通话时:
int i1 = -1;
int i2 = setTo13AndReturn42 (&i1);
printf ("%d %d\n", i1, i2);
将输出:
13 42
(1)在Windows最早的时候,当我们不得不忍受奇怪的x86
{tiny, small, medium, large, huge, gargantuan}
(或者他们实际上被称为什么)内存模型时,LP
代表长指针。