J'éssaie de faire un tout petit programme pour joindre un PC à un domaine :
#include <lm.h>
#include <stdio.h>
int maint (void)
{
NET_API_STATUS ret;
ret = NetJoinDomain(NULL,
"myad\mydc.myad.mycompany.com",
"OU=Workstations,DC=myad,DC=mycompany,DC=com",
"myad\joindom",
"mypassword",
NETSETUP_JOIN_DOMAIN | NETSETUP_ACCT_CREATE);
if (ret != NERR_Success) {
printf("Error! \n");
exit(1);
}
printf("Success\n");
exit (0);
}
Le résultat de compilation est ... plein d'erreur sur les headers inclus
par lm.h, que ce soit avec devcpp ou VC. Exemple avec devcpp:
Compiler: Default compiler
Executing gcc.exe...
gcc.exe "D:\Documents and Settings\joindom\joindomain.c" -o
"D:\Documents and Settings\joindom\joindomain.exe" -Wall -D _DEBUG_
-g3 -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" -lnetapi32 -g3
In file included from C:/Dev-Cpp/include/lm.h:8,
from D:\Documents and Settings\joindom\joindomain.c:1:
C:/Dev-Cpp/include/lmaccess.h:204: error: syntax error before "LPWSTR"
C:/Dev-Cpp/include/lmaccess.h:206: error: syntax error before "LPWSTR"
C:/Dev-Cpp/include/lmaccess.h:208: error: syntax error before
"usri1_password_age"
C:/Dev-Cpp/include/lmaccess.h:209: error: syntax error before "usri1_priv"
[...]
Et la compilation se termine avec trop d'erreur (plus de 500 de ce type,
tous sur les headers des librairies).
Je note que j'obtient également autant d'erreur avec VC6.
Je pense que l'erreur viens de ma part, mais je ne vois pas bien ce que
j'ai mal fait.
J'éssaie de faire un tout petit programme pour joindre un PC à un domaine :
#include <lm.h>
Manque #include <windows.h> avant
int maint (void)
main
ret = NetJoinDomain(NULL,"myadmydc.myad.mycompany.com",
L +
exit...
return...
dieb
>> #include <lm.h>
Manque #include <windows.h> avant
int maint (void)
main
ret = NetJoinDomain(NULL,"myadmydc.myad.mycompany.com",
Ok, désolé j'ai posté le un code de merde, on peut le dire, et en plus pas le dernier (j'avais quand même pas compilé un maint()...
Mais bon, pas d'excuses. Donc une fois windows.h inclus, j'ai tout de même ce genre de résultats (devcpp):
Compiler: Default compiler Executing gcc.exe... gcc.exe "D:Documents and Settingsjoindomjoindomain.c" -o "D:Documents and Settingsjoindomjoindomain.exe" -Wall -D _DEBUG_ -g3 -I"C:Dev-Cppinclude" -L"C:Dev-Cpplib" -lnetapi32 -g3 D:Documents and Settingsjoindomjoindomain.c: In function `main':
D:Documents and Settingsjoindomjoindomain.c:10: warning: implicit declaration of function `NetJoinDomain' D:Documents and Settingsjoindomjoindomain.c:15: error: `NETSETUP_JOIN_DOMAIN' undeclared (first use in this function) D:Documents and Settingsjoindomjoindomain.c:15: error: (Each undeclared identifier is reported only once D:Documents and SettingsItalyjoindomjoindomain.c:15: error: for each function it appears in.) D:Documents and SettingsItalyjoindomjoindomain.c:15: error: `NETSETUP_ACCT_CREATE' undeclared (first use in this function)
Execution terminated
Or msdn dit clairement que cette fonction est déclarée dans Lmjoin.h et qu'il faut include Lm.h.
>> #include <lm.h>
Manque #include <windows.h> avant
int maint (void)
main
ret = NetJoinDomain(NULL,"myadmydc.myad.mycompany.com",
Ok, désolé j'ai posté le un code de merde, on peut le dire, et en plus
pas le dernier (j'avais quand même pas compilé un maint()...
Mais bon, pas d'excuses. Donc une fois windows.h inclus, j'ai tout de
même ce genre de résultats (devcpp):
Compiler: Default compiler
Executing gcc.exe...
gcc.exe "D:Documents and Settingsjoindomjoindomain.c" -o
"D:Documents and Settingsjoindomjoindomain.exe" -Wall -D _DEBUG_
-g3 -I"C:Dev-Cppinclude" -L"C:Dev-Cpplib" -lnetapi32 -g3
D:Documents and Settingsjoindomjoindomain.c: In function `main':
D:Documents and Settingsjoindomjoindomain.c:10: warning: implicit
declaration of function `NetJoinDomain'
D:Documents and Settingsjoindomjoindomain.c:15: error:
`NETSETUP_JOIN_DOMAIN' undeclared (first use in this function)
D:Documents and Settingsjoindomjoindomain.c:15: error: (Each
undeclared identifier is reported only once
D:Documents and SettingsItalyjoindomjoindomain.c:15: error: for each
function it appears in.)
D:Documents and SettingsItalyjoindomjoindomain.c:15: error:
`NETSETUP_ACCT_CREATE' undeclared (first use in this function)
Execution terminated
Or msdn dit clairement que cette fonction est déclarée dans Lmjoin.h et
qu'il faut include Lm.h.
ret = NetJoinDomain(NULL,"myadmydc.myad.mycompany.com",
Ok, désolé j'ai posté le un code de merde, on peut le dire, et en plus pas le dernier (j'avais quand même pas compilé un maint()...
Mais bon, pas d'excuses. Donc une fois windows.h inclus, j'ai tout de même ce genre de résultats (devcpp):
Compiler: Default compiler Executing gcc.exe... gcc.exe "D:Documents and Settingsjoindomjoindomain.c" -o "D:Documents and Settingsjoindomjoindomain.exe" -Wall -D _DEBUG_ -g3 -I"C:Dev-Cppinclude" -L"C:Dev-Cpplib" -lnetapi32 -g3 D:Documents and Settingsjoindomjoindomain.c: In function `main':
D:Documents and Settingsjoindomjoindomain.c:10: warning: implicit declaration of function `NetJoinDomain' D:Documents and Settingsjoindomjoindomain.c:15: error: `NETSETUP_JOIN_DOMAIN' undeclared (first use in this function) D:Documents and Settingsjoindomjoindomain.c:15: error: (Each undeclared identifier is reported only once D:Documents and SettingsItalyjoindomjoindomain.c:15: error: for each function it appears in.) D:Documents and SettingsItalyjoindomjoindomain.c:15: error: `NETSETUP_ACCT_CREATE' undeclared (first use in this function)
Execution terminated
Or msdn dit clairement que cette fonction est déclarée dans Lmjoin.h et qu'il faut include Lm.h.
Christian ASTOR
dieb wrote:
D:Documents and Settingsjoindomjoindomain.c:15: error: `NETSETUP_JOIN_DOMAIN' undeclared (first use in this function)
Includes non à jour. Les maj par la PSDK.
dieb wrote:
D:Documents and Settingsjoindomjoindomain.c:15: error:
`NETSETUP_JOIN_DOMAIN' undeclared (first use in this function)