To znowu ja i moje problemy w programowaniu pod Windows;)
Więc chcę uruchomić przykładowy program z RPC ze stronki http://www.staff.amu.edu.pl/~ttomek/pzr/cwiczenia3.html. No i właśnie serwer się uruchamia elegancko ale klient po skompilowaniu i uruchomieniu wywala błąd przy funkcji RpcBindingSetAuthInfo.
/* Dane autoryzacji */
AuthIdentity.User = USER;
AuthIdentity.UserLength = (unsigned long) strlen(USER);
AuthIdentity.Domain = DOMAIN;
AuthIdentity.DomainLength = (unsigned long) strlen(DOMAIN);
AuthIdentity.Password = PASSWORD;
AuthIdentity.PasswordLength = (unsigned long) strlen(PASSWORD);
AuthIdentity.Flags = SEC_WINNT_AUTH_IDENTITY_ANSI;
/* Koniec danych autoryzacji */
if (
(retval=RpcBindingSetAuthInfo(minbazara_IfHandle,
"localhost",
RPC_C_AUTHN_LEVEL_DEFAULT,
RPC_C_AUTHN_WINNT,
&AuthIdentity,
RPC_C_AUTHN_WINNT)) != RPC_S_OK) {
printf("Nie powiodlo sie ustalenie metody autoryzacji.\n");
switch (retval) {
case RPC_S_INVALID_BINDING:
printf("Dowiazanie jest niepoprawne.\n");break;
case RPC_S_UNKNOWN_AUTHN_SERVICE:
printf("Nieznana usluga autoryzacji.\n");break;
case RPC_S_WRONG_KIND_OF_BINDING:
printf("Niewlasciwy typ dowiazania.\n");break;
case RPC_S_UNKNOWN_AUTHN_SERVICE:
printf("RPC_S_UNKNOWN_AUTHN_SERVICE.\n");break;
default:
printf("Nieznany blad: 0x%04x.\n",retval);break;
}
return 0;
}
Dokładnie dokładnie, że "nieznany błąd: 0x000e". I teraz nie wiem nie jestem w żadnej domenie wiec mam #define DOMAIN "" hasła też nie mam to #define PASSWORD "" a użytkownik to na to taki ma być.
Co tu jest grane?