Discussione:
LookupPrivilegeValue problem
(troppo vecchio per rispondere)
robin73
2010-05-24 10:19:01 UTC
Permalink
I am using a Windows Xp platform (IT), with MSDK (v. 7.0A) and WinDDK (v.
7600.16385.0) installed on.

I am executing the following lines code:

LUID Luid;

if ( !LookupPrivilegeValue(NULL,SE_CREATE_SYMBOLIC_LINK_NAME,&Luid) )
{
DWORD err_code = GetLastError();
LPTSTR str_msg = NULL;
if ( FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, HRESULT_FROM_SETUPAPI (err_code), MAKELANGID(LANG_NEUTRAL,
SUBLANG_DEFAULT), (LPTSTR) &str_msg, 0, NULL ) )
{
_tprintf(_T("ERR: (%u) - [%s]\n"), err_code, str_msg );
LocalFree(str_msg);
}
}
else
_tprintf(_T("ok\n") );

And I obtain this result:

ERR: (1313) - [Privilegio specificato non esistente.
]

I believe not to mistake, but there is an error, where is it?

Please, help me!

Thank you very much.
robin73
2010-05-24 10:29:01 UTC
Permalink
Traduco in Italiano quanto avevo scritto in inglese...

Sto utilizzando una piattaforma così composta Windows Xp platform (IT), with
MSDK (v. 7.0A) and WinDDK (v. > 7600.16385.0).

Ho scritto ed eseguito le seguenti righe di codice:

LUID Luid;

if ( !LookupPrivilegeValue(NULL,SE_CREATE_SYMBOLIC_LINK_NAME,&Luid) )
{
DWORD err_code = GetLastError();
LPTSTR str_msg = NULL;
if ( FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, HRESULT_FROM_SETUPAPI (err_code), MAKELANGID(LANG_NEUTRAL,
SUBLANG_DEFAULT), (LPTSTR) &str_msg, 0, NULL ) )
{
_tprintf(_T("ERR: (%u) - [%s]\n"), err_code, str_msg );
LocalFree(str_msg);
}
}
else
_tprintf(_T("ok\n") );

Ed ho ottenuto il seguente risultato:

ERR: (1313) - [Privilegio specificato non esistente.
]


Mi sembra di aver correttamente interpretato la documentazione al riguardo
della funzione... ma evidentemente commetto qualche errore!

Potreste cortesemente darmi qualche indicazione ..

Grazie mille.

Roberto
robin73
2010-05-27 20:48:16 UTC
Permalink
Credo di aver trovato la soluzione.
E' probabile che vi sia impostata una define da far compilare il codice per
un ambiente finale con Vista, e quindi non ottengo errori di compilazione.
Il problema nasce infatti quando eseguo il debug sulla piattaforma che però
e Windows XP.
Al seguente collegamento viene indicato che quel privilegio è stato
introdotto con Vista e quindi non disponibile in Windows XP.
http://msdn.microsoft.com/en-us/library/cc234419(PROT.13).aspx

Grazie lo stesso.
--
Grazie mille.

Roberto
Post by robin73
Traduco in Italiano quanto avevo scritto in inglese...
Sto utilizzando una piattaforma così composta Windows Xp platform (IT), with
MSDK (v. 7.0A) and WinDDK (v. > 7600.16385.0).
LUID Luid;
if ( !LookupPrivilegeValue(NULL,SE_CREATE_SYMBOLIC_LINK_NAME,&Luid) )
{
DWORD err_code = GetLastError();
LPTSTR str_msg = NULL;
if ( FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, HRESULT_FROM_SETUPAPI (err_code), MAKELANGID(LANG_NEUTRAL,
SUBLANG_DEFAULT), (LPTSTR) &str_msg, 0, NULL ) )
{
_tprintf(_T("ERR: (%u) - [%s]\n"), err_code, str_msg );
LocalFree(str_msg);
}
}
else
_tprintf(_T("ok\n") );
ERR: (1313) - [Privilegio specificato non esistente.
]
Mi sembra di aver correttamente interpretato la documentazione al riguardo
della funzione... ma evidentemente commetto qualche errore!
Potreste cortesemente darmi qualche indicazione ..
Grazie mille.
Roberto
Loading...