Twoim problemem jest to, że powszechną NICOŚĆ mylisz z osobistą PUSTKĄ

NCB_COMMANDPole kodu zlecenia.NCB_RETCODEPole kodu odpowiedzi NetBIOSa (patrz kody błędów).NCB_LSNIdentyfikator połšczenia. NetBIOS po nawišzaniu połšczenia (poleceniami CALL lub LISTEN) nadaje temu połšczeniu unikalny identyfikator (lokalny dla danego komputera!). Identyfikator ten w kolejnych poleceniach służy do wskazania właciwego połšczenia.NCB_NUMIdentyfikator nazwy. NetBIOS po zarejestrowaniu nazwy nadaje jej unikalny identyfikator (lokalny dla danego komputera), który aplikacja może odczytać z pola NCB_NUM po wykonaniu polecenia ADD NAME lub ADD GROUP NAME. Identyfikator ten wykorzystywany jest w kilku poleceniach (np. SEND DATAGRAM) do wskazania okrelonej nazwy lokalnej.NCB_BUFFERWskanik na bufor na dane (ramka lub struktura z odpowiedziš). Adres jest zapisany w postaci segment:offset.NCB_LENGTHDługoć bufora. Dla rozkazów odbierajšcych dane (np. RECEIVE DATAGRAM) aplikacja deklaruje maksymalnš wielkoć bufora a NetBIOS po wpisaniu do bufora odebranych danych wpisuje do tego pola ich właciwš długoć.NCB_CALLNAMENazwa zdalna.NCB_NAMENazwa lokalna.CB_RTOWartoć timeout'u dla zlecenia RECEIVE. Wartoć jest ustawiana w rozkazie nawišzujšcym połšczenie (CALL lub LISTEN) i obowišzuje dla wszystkich poleceń RECEIVE wydanych dla tego połšczenia. Jednostkš czasu jest 500ms.NCB_STOWartoć timeout'u dla zleceń SEND i CHAIN SEND. Wartoć ustawiana w rozkazie nawišzujšcym połšczenie (CALL lub LISTEN) i obowišzuje dla wszystkich poleceń typu SEND w tym połšczeniu. Jednostka czasu to 500ms.NCB_POSTAdres procedury wywoływanej przez NetBIOSa po zakończeniu realizacji danego polecenia. Adres procedury ma postać segment:offset. Procedura powinna być możliwie krótka i nie może wywoływać NetBIOSa. Mechanizm zostaje zablokowany gdy adres ma wartoć 0000:0000.NCB_LANA_NUMNumer karty sieciowej. W oryginalnym rozwišzaniu IBM można było mieć w komputerze maksymalnie dwie karty sieciowe. W systemie Windows pod pojęciem "karta sieciowa" kryje się karta logiczna a więc połšczenie karty fizycznej z protokołem. Zatem w systemie z jednš fizycznš kartš i protokołami: NetBIOS/NetBEUI, NetBIOS przez IPX i NetBIOS przez TCP/IP emulator NetBIOSa obsługuje trzy "karty".NCB_CMD_CPLTPole robocze NetBIOSa zawierajšce takš samš wartoć jak pole NCB_RETCODE. ADD NAMEDodanie nazwy indywidualnej. Rejestrowana nazwa znajduje się w polu NCB_NAME. Po zarejestrowaniu nazwy NetBIOS nadaje jej unikalny identyfikator liczbowy, który można odczytać z pola NCB_NUM.ADD GROUP NAMEDodanie nazwy grupowej. Rejestrowana nazwa znajduje się w polu NCB_NAME. Po zarejestrowaniu nazwy NetBIOS nadaje jej unikalny identyfikator liczbowy, który można odczytać z pola NCB_NUM. DELETE NAMEUsunięcie nazwy wskazanej w polu NCB_NAME. W przypadku gdy na danę nazwę sš nawišzane jakie połšczenia lub wydano polecenia odbioru w trybie datagramowym to polecenia te sš usuwane (dotyczy poleceń: RECEIVE, RECEIVE ANY, LISTEN, RECEIVE DATAGRAM i RECEIVE BROADCAST), a następnie nazwa zostaje zawieszona do czasu oficjalnego zerwania wszystkich połšczeń nawišzanych na niš. W stanie zawieszenia (deregistered) nazwa pozostaje jeszcze w tablicy nazw ale nie można wydać żšdnego polecenia zwišzanego z tš nazwš.LISTENBierne oczekiwanie na nawišzanie przez stronę zdalnš połšczenia. W polu NCB_NAME należy umiecić nazwę lokalnš na jakš zamierzamy nawišzać połšczenie. W polu NCB_CALLNAME umieszczamy nazwę zdalnš, z którš zamierzamy nawišzać połšczenie lub * gdy dopuszczamy dowolnš nazwę zdalnš. Obie nazwy muszš być nazwami indywidualnymi. W polach NCB_STO i NCB_RTO możemy okrelić czasy timeout'ów odpowiednio dla operacji SEND i CHAIN SEND (_STO) i RECEIVE (_RTO). W przypadku wpisania do tych pól wartoci 0 nastšpi wyłšczenie budzików. Polecenie RECEIVE ANY nie wykorzystuje budzika. Po nawišzaniu połšczenia z pola NCB_NUM możemy odczytać identyfikator nazwy lokalnej na którš nawišzano to połšczenie. W przypadku gdy w polu NCB_CALLNAME wpisano nazwę * w polu tym NetBIOS umieci nazwę zdalnš z którš nawišzalimy połšczenie. W polu NCB_LSN NetBIOS zwróci lokalny identyfikator połšczenia - będzie on używany we wszystkich poleceniach zwišzanych z tym połšczeniem do jednoznacznej jego identyfikacji.CALLAktywne polecenie nawišzania połšczenia. W polach NCB_NAME i NCB_CALLNAME znajdujš się odpowiednio: nazwa lokalna i nazwa zdalna pomiędzy którymi zamierzamy nawišzać połšczenie. W polach NCB_STO i NCB_RTO możemy, podobnie jak dla polecenia LISTEN zadeklarować czasy timeout'ów (budziki). Po nawišzaniu połšczenia z pola NCB_NUM możemy odczytać numer nazwy lokalnej użytej w tym połšczeniu, natomiast z pola NCB_LSN identyfikator połšczenia (lokalny dla tego komputera!).SENDWysłanie danych w ramach okrelonego połšczenia. Identyfikator połšczenia znajduje się w polu NCB_LSN, wskazanie na bufor z danymi do wysłania znajduje się w polu NCB_BUFFER a długoć bufora w NCB_LENGTH. Maksymalnie w jednym poleceniu SEND możemy wysłać 65535 bajtów. Przesłanie może być zrealizowane przy użyciu wielu ramek (aplikacja nie jest o tym powiadamiana), z zachowaniem sekwencyjnoci, braku strat i powieleń danych (podobnie jak TCP). W przypadku gdy druga strona połšczenia nie wydała polecenia RECEIVE to NetBIOS regularnie ponawia próbę wysłania danych, aż do upłynięcia czasu timeout'u. W takim wypadku polecenie to zostaje zakończone z błędem a dodatkowo jako skutek uboczny nastšpi zerwanie połšczenia.RECEIVEOdbiór danych ze wskazanego połšczenia. Identyfikator połšczenia znajduje się w polu NCB_LSN. Wskazanie na bufor oraz jego zadeklarowanš wielkoć należy wpisać do pól: NCB_BUFFER i NCB_LENGTH.HUNG UPZerwanie połšczenia o identyfikatorze wskazanym w polu NCB_LSN. Polecenie to powoduje skasowanie wszytskich poleceń RECEIVE zwišzanych z tym połšczeniem a także pierwszego w kolejce polecenia RECEIVE ANY. W przypadku gdy w kolejce znajdujš się polecenia SEND lub CHAIN SEND wydane dla tego połšczenia to zerwanie połšczenia zostaje zawieszone, a NetBIOS próbuje wykonać to polecenia (wysłać dane). Po 20 sekundach pozostałe jeszcze polecenia SEND i CHAIN SEND sš usuwane z kolejki i następuje definitywne rozwišzanie połšczenia.SEND DATAGRAMWysłanie datagramu na nazwę wskazanš w polu NCB_CALLNAME. Jako nadawca wskazywana jest nazwa której identyfikator wpisano do pola NCB_NUM. Pole NCB_BUFFER zawiera wskazanie na bufor z danymi a NCB_LENGTH zawiera wielkoć tego bufora.SEND BROADCASTWysłanie broadcast'u do wszystkich stacji na sieci. Bufor z wiadomociš wskazywany jest w polu NCB_BUFFER a jej długoć w polu NCB_LENGTH. Nadawcę (identyfikator nazwy) wskazuje się w polu NCB_NUM. RECEIVE DATAGRAMOdbiór datagramu wysłanego na nazwę której identyfikator wpisano do pola NCB_NUM. Bufor na odebrano wiadomoć wskazywany jest w polu NCB_BUFFER a jego długoć w polu NCB_LENGTH. Po odebraniu ramki z pola NCB_CALLNAME możemy odczytać jej nadawcę..RECEIVE BROADCASTOdbiór broadcast'u. Bufor wskazywany jest w polu NCB_BUFFER a jego długoć deklarujemy w polu NCB_LENGTH. Podobnie jak w poprzednim zleceniu z pola NCB_CALLNAME możemy odczytać nazwę nadawcy wiadomoci.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • jucek.xlx.pl






  • Formularz

    POst

    Post*

    **Add some explanations if needed