0
我在調用GetTokenInformation時出了問題, 出於某種原因,它在Windows Server 2003 32bit上失敗,但在服務器2008 64位上成功。在Windows Server 2003上GetTokenInformation失敗(錯誤998),但在2008上工作
PTOKEN_USER pSIDTokenUser = NULL;
DWORD dwReturnLength;
if (!GetTokenInformation(hToken, TokenUser, NULL, 0, &dwReturnLength) && GetLastError() != ERROR_INSUFFICIENT_BUFFER)
{
//handle error
}
pSIDTokenUser = (PTOKEN_USER)new BYTE[dwReturnLength];
memset(pSIDTokenUser, 0, dwReturnLength);
if (!pSIDTokenUser)
//handle error
if (!GetTokenInformation(hToken, TokenUser, pSIDTokenUser, dwReturnLength, NULL))
//handle error
到GetTokenInformation第二個通話Windows 2003的總是與錯誤998(「無效訪問內存位置」)返回0。 我認爲它與pSIDTokenUser大小/對齊(我使用默認)等有關,但無法找到原因。
謝謝。
工作就像一個魅力,非常感謝!它有點微妙,尤其是自2008年開始工作以來。 – roybj