if (lpctstrPrompt)
{
aaMenuItem.ulMask |= AADMSMIF_PROMPT;
aaMenuItem.lptstrPrompt = (LPWSTR)lpctstrPrompt;
}
if (ulRequiredMask)
{
aaMenuItem.ulMask |= AADMSMIF_REQUIRED;
aaMenuItem.ulRequiredMask = ulRequiredMask;
{
aaMenuItem.ulMask |= AADMSMIF_PROMPT;
aaMenuItem.lptstrPrompt = (LPWSTR)lpctstrPrompt;
}
if (ulRequiredMask)
{
aaMenuItem.ulMask |= AADMSMIF_REQUIRED;
aaMenuItem.ulRequiredMask = ulRequiredMask;
}
这个地方的含义是:如果相应参数有内容,就把这个内容赋值给结构,
同时加那个异或,作用是,高速pwAPI,这个参数我传给你了。
两个参数是配对的,1个是告诉pw要往里面传值了,另外一个是传具体的值
|=一般用于二进制
举个例子吧
1
2
3
|
int
a =
1
,b =
2
,c =
4
;
//0x0001,0x0010,0x0100
a |= b;
// a = 0x0011 = 3
b |= c;
// b = 0x0110 = 6
|