среда программирования vc 4.0 ос хр sp2
у меня при обращений к функциям NetLocalGroupEnum, NetLocalGroupGetMembers возникает ошибка(через F5)
First-chance exception in SoftCollector.exe (NETAPI32.DLL): 0xC0000005: Access Violation.
некоторые работают NetUserGetInfo, NetGetDCName
вот код
BOOL CInfoCollector::GetGoupsName( char *ServerName,char *GoupsName )
{
WCHAR servername[256]; // Unicode user name
WCHAR workgroup[256]; // Unicode user name
/* We use parameter #1 as server name. */
/* Convert it to wide string */
MultiByteToWideChar( CP_ACP, 0, ServerName,
strlen(ServerName)+1, servername, sizeof(servername) );
MultiByteToWideChar( CP_ACP, 0, "workgroup",
strlen("workgroup")+1, workgroup, sizeof(workgroup) );
/* Display list of available groups */
do {
/* Execute (resume) enumeration */
netok = NetLocalGroupEnum( (LPWSTR) servername, /* server name */
1, /* we want GROUP_INFO_1 */
(LPBYTE *)&bufptr1, /* NET API buffer */
2048, /* desired buffer size */
&entriesread, /* number of retrieved entries*/
&totalentries, /* entries available */
&resumehandle ); /* handle for next enum call */
Здравствуйте, kulsary, Вы писали:
K>среда программирования vc 4.0 ос хр sp2 K>у меня при обращений к функциям NetLocalGroupEnum, NetLocalGroupGetMembers возникает ошибка(через F5)
K> First-chance exception in SoftCollector.exe (NETAPI32.DLL): 0xC0000005: Access Violation.
K>некоторые работают NetUserGetInfo, NetGetDCName K>вот код
А какой ServerName в функцию передаётся?
"Если нельзя, но очень хочется... то можно"
Re: сбор информаций о локальных группах и пользователях в wk
WCHAR servername[256] = L"";// Unicode user name
WCHAR workgroup[256] = L"";// Unicode user name
Попробуйте для начала проинициализировать эти переменные, чтобы избавиться от Access Violation
Скорее всего это именно из-за них, а затем продолжайте отладку и поиск причины почему не конвертится servername
Re[2]: сбор информаций о локальных группах и пользователях в
AF> WCHAR servername[256] = L"";// Unicode user name
AF> WCHAR workgroup[256] = L"";// Unicode user name
AF>
AF>Попробуйте для начала проинициализировать эти переменные, чтобы избавиться от Access Violation AF>Скорее всего это именно из-за них, а затем продолжайте отладку и поиск причины почему не конвертится servername
спасибо идея с начальной инициализацией очень помогло
DWORD resumehandle=0;
resumehandle
... The handle should be zero on the first call ...
netok = NetLocalGroupEnum( (LPWSTR) servername, /* server name */
1, /* we want GROUP_INFO_1 */
(LPBYTE *)&bufptr1, /* NET API buffer */
2048, /* desired buffer size */
&entriesread, /* number of retrieved entries*/
&totalentries, /* entries available */
&resumehandle ); /* handle for next enum call */