NetWkstaUserGetInfo и ERROR_ACCESS_DENIED
От: mcFactor Австралия  
Дата: 15.02.11 04:12
Оценка:
Убился уже... Приложение стартует при автологине (сидит в Startup фолдере), вызывает NetWkstaUserGetInfo и та, скотина, возвращает ERROR_ACCESS_DENIED. Если приложение запускается "ручками" после логина, тогда все нормально. Взял уже тупой пример из MSDN, те-же яйца... Юзер обычный пользователь.

#ifndef UNICODE
#define UNICODE
#endif

#include <stdio.h>
#include <windows.h>
#include <lm.h>

#pragma comment(lib, "Netapi32.lib")


int wmain(void)
{
DWORD dwLevel = 1;
LPWKSTA_USER_INFO_1 pBuf = NULL;
NET_API_STATUS nStatus;
//
// Call the NetWkstaUserGetInfo function;
// specify level 1.
//
nStatus = NetWkstaUserGetInfo(NULL,
dwLevel,
(LPBYTE *)&pBuf);
//
// If the call succeeds, print the information
// about the logged-on user.
//
if (nStatus == NERR_Success)
{
if (pBuf != NULL)
{
wprintf(L"\n\tUser: %s\n", pBuf->wkui1_username);
wprintf(L"\tDomain: %s\n", pBuf->wkui1_logon_domain);
wprintf(L"\tOther Domains: %s\n", pBuf->wkui1_oth_domains);
wprintf(L"\tLogon Server: %s\n", pBuf->wkui1_logon_server);
}
}
// Otherwise, print the system error.
//
else
fprintf(stderr, "A system error has occurred: %d\n", nStatus);
//
// Free the allocated memory.
//
if (pBuf != NULL)
NetApiBufferFree(pBuf);


getch();

return 0;
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.