Protok≤│ po│╣czeniowy DCOM95 zapewnia obs│ugΩ modelu obiekt≤w rozproszonych COM (DCOM) dla systemu Microsoft(r) Windows(r) 95.
Protok≤│ DCOM w przezroczysty dla u┐ytkownika spos≤b zapewnia obs│ugΩ pewnej, bezpiecznej i skutecznej komunikacji pomiΩdzy sk│adnikami COM (Component Object Model), takimi jak formanty ActiveX(r), skrypty, i aplety Java jΩzyka rezyduj╣cymi na r≤┐nych komputerach w sieci lokalnej (LAN), sieci rozleg│ej (WAN) lub w Internecie. Wykorzystuj╣c DCOM, aplikacja mo┐e byµ rozdzielona pomiΩdzy r≤┐ne miejsca, zgodnie z oczekiwaniami klienta i wymogami zastosowania.
WiΩcej szczeg≤│owych informacji mo┐na znaleƒµ w przegl╣dzie technicznym DCOM dostΩpnym na stronie g│≤wnej Microsoft COM, pod adresem http://www.microsoft.com/com/.
Spis tre£ci
===========
I. Nowe cechy
II. Naprawione b│Ωdy
III. Znane problemy
IV. R≤┐nice w stosunku do protoko│u DCOM systemu Windows NT
V. Redystrybucja
VI. Pomoc techniczna i zasoby
VII. Lista plik≤w
I. Nowe cechy
---------------
Niedozwolone jest zastΩpowanie DCOM95 starsz╣ wersj╣
W poprzednich wersjach DCOM95, istnia│a mo┐liwo£µ zast╣pienia nowszej wersji DCOM95 starsz╣ wersj╣. Numery wersji s╣ aktualnie sprawdzane podczas instalacji, i nie jest dozwolone instalowanie starszej wersji na nowszej. Zmiana ta pozwoli unikn╣µ problem≤w z niezgodnymi
wersjami bibliotek DLL.
Obs│uga monitorowania proces≤w Visual Studio 6.0
W obs│udze Visual Studio 6.0, DCOM95 zapewniono monitorowanie informacji dla deweloper≤w, aby pom≤c im zrozumieµ zachowanie, wydajno£µ i strukturΩ aplikacji. U┐ywaj╣c analizatora Visual Studio Analyzer na komputerze z systemem Windows 95, nale┐y zawsze u┐ywaµ tej wersji DCOM95.
Nowe katalogi tworzone przez Instalatora
Instalator tworzy katalog o nazwie DCOM95 w katalogu systemowym. Jest w nim zapisywana licencja u┐ytkownika oprogramowania i inne pliki. Instalator tworzy tak┐e podkatalog katalogu DCOM95 o nazwie OLDOLE, w kt≤rym s╣ zapisywane stare wersje plik≤w DCOM95 lub OLE. Pliki
te s╣ przywracane w trakcie p≤ƒniejszego odinstalowywania DCOM95.
Internetowe us│ugi COM
Us│ugi COM Internet Services (CIS) umo┐liwiaj╣ klientom i serwerom │╣czenie siΩ poprzez Internet przy wykorzystaniu COM. Us│ugi CIS sk│adaj╣ siΩ z
* Nowego protoko│u DCOM, tunelowanego TCP
* Nowego typu monikera, moniker OBJREF
* Nowego narzΩdzia CISCNFG
Dla obs│ugi klient≤w CIS w Windows 95, trzeba zainstalowaµ zar≤wno DCOM95 jak i DCOMCFG. A nastΩpnie wykorzystaµ narzΩdzie CISCNFG, instalowane podczas instalacji narzΩdzia konfiguracyjnego DCOM, do zmiany klucza rejestr≤w okre£laj╣cego, kt≤ry protok≤│ jest u┐ywany dla proces≤w zdalnych. W oknie wiersza polece± wpisz:
ciscnfg <protok≤│>
Gdzie <protok≤│> to:
* rpc, aby u┐yµ protoko│u RPC
* http, aby u┐yµ protoko│u HTTP
* tcp_http, aby spr≤bowaµ u┐yµ najpierw protoko│u TCP, a po
wyczerpaniu limitu czasu serwera, ponowiµ pr≤bΩ u┐ywaj╣c
protoko│u HTTP.
Polecenie ciscnfg nie ma argumentu wy£wietlaj╣cego informacje dotycz╣ce u┐ytkowania tego narzΩdzia.
Nie s╣ wymagane aktualizacje SDK umo┐liwiaj╣ce u┐ywanie tunelowanego protoko│u TCP.
W tej wersji wprowadzono kilka aktualizacji dla moniker≤w OBJREF.
CreateObjrefMoniker
Tworzy moniker OBJREF w oparciu o wskaƒnik do obiektu.
WINOLEAPI CreateObjrefMoniker(
LPUNKNOWN pUnk, //Wskaƒnik do obiektu
LPMONIKER *ppMk //Adres wskaƒnika monikera OBJREF
);
Parametry
pUnk
Wskazuje interfejs IUnknown w obiekcie, kt≤ry ma byµ reprezentowany przez moniker.
ppMk
Adres wskaƒnika do interfejsu IMoniker tworzonego monikera OBJREF.
Zwracane warto£ci
Funkcja obs│uguje standardowe warto£ci zwracane E_OUTOFMEMORY i E_UNEXPECTED, jak r≤wnie┐ nastΩpuj╣ce:
S_OK
Moniker OBJREF zosta│ pomy£lnie utworzony.
Uwagi
Klienci wykorzystuj╣ monikery OBJREF do uzyskania miΩdzyprocesowego wskaƒnika do dzia│aj╣cego obiektu w przestrzeni adresowej serwera.
Zazwyczaj serwer wywo│uje metodΩ CreateObjrefMoniker aby utworzyµ moniker OBJREF a nastΩpnie wywo│uje metodΩ IMoniker::GetDisplayName, i ostatecznie uwalnia moniker. Nazwa wy£wietlana monikera OBJREF ma postaµ:
OBJREF:nnnnnnnn
Gdzie nnnnnnnn jest nadawanym arbitralnie ci╣giem kodowanym 64 pozycyjnie, zawieraj╣cym po│o┐enie komputera, punkt ko±cowy procesu, i identyfikator wskaƒnika interfejsu (IPID) dzia│aj╣cego obiektu.
Nazwa wy£wietlana mo┐e byµ przes│ana do klienta jako tekst. Na przyk│ad, nazwa wy£wietlana mo┐e wystΩpowaµ na stronie HTML pobieranej przez klienta.
Klient mo┐e przekazaµ nazwΩ wy£wietlan╣ do metody MkParseDisplayName, kt≤ra tworzy moniker OBJREF w oparciu o nazwΩ wy£wietlan╣. Wywo│anie p≤ƒniej metody monikera IMoniker::BindToObject pozwala otrzymaµ miΩdzyprocesowy wskaƒnik do dzia│aj╣cego obiektu na serwerze.
Na przyk│ad, sk│adnik COM znajduj╣cy siΩ na serwerze na aktywnej stronie serwera mo┐e utworzyµ moniker OBJREF, uzyskaµ jego nazwΩ wy£wietlan╣ i zapisaµ nazwΩ wy£wietlan╣ w wyj£ciowym pliku HTML
wysy│anym do przegl╣darki klienta. Skrypt wykonywany po stronie klienta mo┐e u┐yµ nazwy wy£wietlanej, aby uzyskaµ dostΩp do dzia│aj╣cego obiektu. Na przyk│ad skrypt Visual Basic wykonywany po stronie klienta mo┐e zapisaµ nazwΩ wy£wietlan╣ w zmiennej MojaNazwa i zawieraµ wiersz:
MojeWyst╣pienie = GetObject(MojaNazwa)
Aparat skrypt≤w wykonuje wewnΩtrzne wywo│anie metod MkParseDisplayName i IMoniker::BindToObject, a nastΩpnie skrypt mo┐e wykorzystaµ obiekt MojeWyst╣pienie, aby odwo│ywaµ siΩ bezpo£rednio do
dzia│aj╣cego obiektu.
Je£li dzia│aj╣cy obiekt u┐ywa statycznego IPID, a proces serwera zawsze dzia│a na tym samym komputerze jako dobrze znany punkt ko±cowy, nazwa wy£wietlana jest zawsze taka sama. W takim
przypadku, serwer mo┐e zachowaµ nazwΩ wy£wietlan╣ zamiast obliczaµ j╣ zawsze, gdy odbiera wywo│anie obiektu.
IMoniker - Implementacja monikera OBJREF
Moniker OBJREF reprezentuje odniesienie do wyst╣pienia obiektu dzia│aj╣cego na poza procesowym serwerze, zar≤wno lokalnym jak i zdalnym. Moniker okre£la wyst╣pienie obiektu i komputer, na kt≤rym dzia│a obiekt.
Miniker OBJREF jest podobny pod wieloma wzglΩdami do monikera wskaƒnika, z wyj╣tkiem tego, ┐e dzia│aj╣ce obiekty s╣ poza procesowe. Klient mo┐e wywo│aµ metodΩ
IMoniker::BindToObject monikera OBJREF moniker i u┐yµ uzyskanego wskaƒnika, aby uzyskaµ dostΩp do dzia│aj╣cego obiektu, zamiast jego po│o┐enia.
Wa┐n╣ r≤┐nic╣ w stosunku do monikera wskaƒnika jest to ┐e nazwa wy£wietlana monikera OBJREF mo┐e byµ osadzona na stronie HTML i dzia│aj╣cy obiekt reprezentowany przez moniker mo┐e byµ zwi╣zany
przez skrypt klienta, aplet lub formant ActiveX.
Kiedy u┐ywaµ
Podstawowym wykorzystaniem dla moniker≤w OBJREF jest uzyskiwanie dostΩpu do wyst╣pie± dzia│aj╣cych obiekt≤w poprzez Internet. Aktywna strona serwera lub inny po£rednik generuj╣cy dynamicznie zawarto£µ HTML umieszcza nazwΩ wy£wietlana monikera OBJREF jako parametr dla apletu lub formantu ActiveX. Kod apletu lub formantu wywo│uje metodΩ CreateObjrefMoniker, aby utworzyµ moniker OBJREF w oparciu o nazwΩ wy£wietlan╣, a nastΩpnie wywo│uje metodΩ IMoniker::BindToObject na
wynikowym monikerze OBJREF, aby uzyskaµ dostΩp do wyst╣pienia dzia│aj╣cego obiektu. Aktywna strona serwera przekazuje miΩdzyprocesowo wskaƒnik do dzia│aj╣cego obiektu z powrotem do klienta strony.
Uwagi
IMoniker::BindToObject. Dla moniker≤w OBJREF, parametr pmkToLeft musi mieµ warto£µ NULL. Poniewa┐ moniker OBJREF reprezentuje dzia│aj╣cy obiekt, proces aktywacji nie wystΩpuje. Je£li reprezentowany obiekt nie dzia│a, wywo│anie BindToObject zwraca kod niepowodzenia E_UNEXPECTED.
IMoniker::BindToStorage. Metoda uzyskuje miΩdzyprocesowy wskaƒnik do wymaganego interfejsu w pamiΩci zawieraj╣cej dzia│aj╣cy obiekt. Poniewa┐ moniker OBJREF reprezentuje dzia│aj╣cy obiekt, proces aktywacji nie wystΩpuje. Je£li reprezentowany obiekt nie dzia│a, wywo│anie BindToStorage zwraca kod niepowodzenia E_UNEXPECTED.
IMoniker::Reduce. Metoda zwraca warto£µ MK_S_REDUCED_TO_SELF i przekazuje z powrotem ten sam moniker.
IMoniker::ComposeWith. Je£li pmkRight jest anty-monikerem, zwracany moniker ma warto£µ NULL. Je£li pmkRight jest z│o┐eniem, kt≤rego lewym, skrajnym sk│adnikiem jest anty-moniker, zwracany moniker jest z│o┐eniem z usuniΩtym lewym skrajnym anty-monikerem. Je£li pmkRight nie jest anty-monikerem ani z│o┐eniem, kt≤rego lewym skrajnym sk│adnikiem jest moniker, metoda sprawdza warto£µ parametru fOnlyIfNotGeneric. Je£li jest to FAúSZ, metoda │╣czy oba monikery w uniwersalne z│o┐enie; je£li jest to PRAWDA, metoda ustawia warto£µ *ppmkComposite na NULL i zwraca warto£µ MK_E_NEEDGENERIC.
IMoniker::Enum. Metoda zwraca warto£µ S_OK i ustawia warto£µ ppenumMoniker na NULL.
IMoniker::IsEqual. Metoda zwraca warto£µ S_OK, je£li *pmkOther jest monikerem OBJREF i £cie┐ka dla obu moniker≤w jest identyczna (wykonywane jest por≤wnanie bez uwzglΩdniania wielko£ci liter). W przeciwnym wypadku metoda zwraca warto£µ S_FALSE.
IMoniker::Hash. Metoda oblicza warto£µ # dla monikera.
IMoniker::IsRunning. Poniewa┐ moniker OBJREF reprezentuje wyst╣pienie dzia│aj╣cego obiektu, metoda zwraca warto£µ PRAWDA, chyba ┐e obiekt jest znany jako niedzia│aj╣cy, poniewa┐ nie powiod│o siΩ ostatnie wywo│anie. Metoda ignoruje parametr pmkToLeft.
IMoniker::GetTimeOfLastChange. Metoda zwraca warto£µ E_NOTIMPL.
IMoniker::Inverse. Metoda zwraca przeciwie±stwo monikera (na przyk│ad wynik wywo│ania CreateAntiMoniker).
IMoniker::CommonPrefixWith. Je£li dwa monikery s╣ r≤wne, metoda zwraca MK_S_US i ustawia warto£µ *ppmkPrefix na NULL. Je£li kt≤ry£ z moniker≤w nie jest monikerem OBJREF, metoda przesy│a oba monikery do funkcji MonikerCommonPrefixWith. Funkcja ta poprawnie obs│uguje sytuacje, w kt≤rej inny moniker jest uniwersalnym z│o┐eniem.
Je£li nie wystΩpuje wsp≤lny przedrostek, funkcja zwraca warto£µ MK_E_.
IMoniker::RelativePathTo. Metoda zwraca warto£µ E_NOTIMPL.
IMoniker::GetDisplayName. Metoda uzyskuje nazwΩ wy£wietlan╣ monikera OBJREF. Nazwa wy£wietlana jest kodem 64 bitowym zawieraj╣cym po│o┐enie komputera, punkt ko±cowy procesu i identyfikator wskaƒnika interfejsu (IPID) dzia│aj╣cego obiektu. Dla zgodno£ci z przysz│ymi
wersjami, nazwa wy£wietlana mo┐e zawieraµ tylko znaki, kt≤re mog╣ byµ podane jako czΩ£µ URL.
IMoniker::ParseDisplayName. Je£li parametr pmkToLeft nie ma warto£ci NULL, metoda zwraca warto£µ MK_E_SYNTAX.
IMoniker::IsSystemMoniker. Metoda zwraca warto£µ S_OK i przekazuje z powrotem warto£µ MKSYS_OBJREFMONIKER.
Obs│uga typ≤w danych VB6.0
Visual Basic((r)) 6.0 pozwala, aby zmienne Visual Basic typu Variant zawiera│y struktury danych zdefiniowane przez u┐ytkownika. DCOM95 aktualnie obs│uguje przesy│anie tego typu danych.
II. Naprawione b│Ωdy
--------------------
Zastrze┐enie klasy podczas roz│adowywania wielu modu│≤w
Je£li wiele modu│≤w by│o roz│adowywanych jednocze£nie, w poprzedniej wersji DCOM95 wystΩpowa│o zastrze┐enie klasy. W zale┐no£ci od kolejno£ci roz│adowywania modu│≤w, mog│o wyst╣piµ naruszenie praw dostΩpu. Usterka zosta│a usuniΩta w tej wersji DCOM95.
Brak reakcji pulpitu podczas uzgadniania protoko│u RPC
Wcze£niejsza wersji DCOM95 nie rozsy│a│a komunikat≤w podczas uzgadniania protoko│u RPC. W pewnych przypadkach, je£li u┐ytkownik uruchomi│ inn╣ aplikacjΩ w czasie uzgadniania protoko│u RPC, wydawa│o siΩ ┐e komputer nie reaguje. Po 30 sekundach, przetwarzanie komunikat≤w by│o wznawiane. Zachowanie to zosta│o zmienione w tej wersji DCOM95 i aplikacje mog╣ byµ uruchamiane podczas uzgadniania protoko│u RPC.
Brak reakcji pulpitu podczas uruchamiania nowych aplikacji
Protok≤│ RPC tworzy ukryte okno w modelu MTA (Multiple-Threaded Apartment), kt≤re nie wymaga rozsy│ania komunikat≤w poprzez DCOM. Kiedy u┐ytkownik uruchamia now╣ aplikacjΩ z pulpitu, system Windows wysy│a komunikat do wszystkich innych doj£µ do okien, informuj╣c je
o tym zdarzeniu i oczekuj╣c odpowiedzi. W poprzednich wersjach DCOM95, ukryte okno RPC mog│o nie odpowiedzieµ na ten komunikat, co powodowa│o zawieszenie systemu Windows. W tej wersji DCOM95 rozwi╣zano ten problem i okno RPC nie powoduje ju┐ blokowania reakcji pulpitu podczas uruchamiania nowych aplikacji.
Wiele adres≤w IP powodowa│o uszkodzenie sterty.
W pewnych sytuacjach, je£li poprzednia wersja DCOM95 by│a uruchamiana na komputerach z wiΩcej ni┐ jednym adresem IP, bufory adres≤w IP pokrywa│y siΩ co powodowa│o uszkodzenie sterty.
Usterka zosta│a usuniΩta w ostatniej wersji DCOM95.
U┐ywanie tylko pierwszego adresu IP
Je£li poprzednia wersja DCOM95 by│a u┐ywana na komputerze posiadaj╣cym dwie karty sieciowe (z tego wzglΩdu posiadaj╣cym dwa adresy IP, ka┐dy przypisany do r≤┐nych adres≤w karty), DCOM95 u┐ywa│ tylko jednej z kart sieciowych. W tej wersji DCOM95, je£li pr≤ba z pierwszym adresem nie dzia│a, zostanie u┐yty drugi.
Protok≤│ RPC sprawdza wielu adres≤w IP
Podczas wywo│ywania procedury zdalnej do komputera posiadaj╣cego wiele adres≤w IP kolejne adresy IP bΩd╣ teraz sprawdzane, je£li nie powiedzie siΩ po│╣czenie z pierwszym adresem.
Pliki moniker≤w mog╣ byµ tworzone z argumentami w formie <ktalogpocz╣tkowy><£cie┐kawzglΩdna>,
takimi jak "C:\test\test\..\..\foo.jpg." W wersji DCOM95 1.1, dozwolone by│y tylko £cie┐ki wzglΩdne (np., "..\..\foo.jpg") lub bezwzglΩdne (np., "C:\foo.jpg").
Og≤lny b│╣d ochrony podczas roz│adowywania biblioteki Oleaut32.dll
W poprzednich wersjach DCOM95, wystΩpowa│ og≤lny b│╣d ochrony podczas roz│adowywania biblioteki Oleaut32.dll przed wywo│aniem CoUninitialize. Zdarza│o siΩ to czΩsto, je£li aplikacja VB utworzy│a formant po│╣czony statycznie z Oleaut32.dll, a nastΩpnie zwalnia│a formant przed wywo│aniem CoUninitialize. Nie powoduje to wyst╣pienia og≤lnego b│Ωdu ochrony w ostatniej wersji DCOM95.
Przesy│anie miΩdzyprocesowe typ≤w Visual Basic
Przesy│anie miΩdzyprocesowe pewnych typ≤w danych Visual Basic zosta│o naprawiono. Parametry tablicowe o rozmiarze wiΩkszym ni┐ 64K s╣ teraz dozwolone. Struktury zdefiniowane przy u┐yciu pseudonim≤w typ≤w s╣ przesy│ane poprawnie.
Atomy wykrywane wielokrotnie w funkcji OleUninitialize
B│╣d pojawia│ siΩ w aplikacjach wywo│uj╣cych wielokrotnie funkcje OleInitialize i OleUninitialize. W czasie inicjowania, OLE dodaje wiele atom≤w dla DDE RPC. Je£li atomy zosta│y ju┐ dodane przez inny w╣tek, nie s╣ dodawane ponownie. Jednak┐e, podczas dezinicjowania, atomy by│y zawsze wykrywane, a ich doj£cia nie usuwane. Dlatego te┐, podczas nastΩpnego wywo│ania OleInitialize, stare doj£cia nadal istnia│y, nawet je£li atomy zosta│y usuniΩte i OLE nie dodawa│o ich ponownie. Prowadzi│o to do sytuacji, w kt≤rej wszystkie atomy OLE by│y niepoprawne po wielokrotnym wywo│aniu OleInitialize i OleUninitialize. Problem ten zosta│ rozwi╣zany w tej wersji DCOM95.
Serwer ADO zamyka siΩ poprawnie.
Obiekty ADO (Active Data Objects) wykorzystuj╣ moniker wskaƒnika, aby uruchomiµ serwer procesu. Poprzednie wersje DCOM95 zawiera│y b│╣d zwi╣zany ze zliczaniem odwo│a± do monikera wskaƒnika, wskutek kt≤rego moniker wskaƒnika by│ tworzony z pocz╣tkow╣ warto£ci╣ licznika odwo│a± 1, zamiast 0. Dlatego te┐, licznik odwo│a± monikera wskaƒnika nigdy nie m≤g│ uzyskaµ warto£ci zero i moniker wskaƒnika nigdy nie by│ zwalniany. W efekcie serwer ADO nigdy nie by│ zamykany, nawet po zwolnieniu ostatniego wskaƒnika do niego. Problem ten zosta│ rozwi╣zany w tej wersji DCOM95.
CoCreateInstance pracuje z w│asn╣ nazw╣ DNS
W poprzednich wersjach DCOM95, wywo│anie CoCreateInstance z w pe│ni kwalifikowan╣ nazw╣ lokalnego komputera nie dzia│a│o. Usterka zosta│a usuniΩta w aktualnej wersji DCOM95 i CoCreateInstance poprawnie tworzy i realizuje wyst╣pienia na lokalnym komputerze.
Powolne opr≤┐nianie w g│≤wnej pamiΩci magazynowej z bardzo du┐ymi plikami mieszanymi
W poprzednich wersjach DCOM95, czas opr≤┐niania g│≤wnej pamiΩci magazynowej otwartej w trybie STGM_TRANSACTED stawa│ siΩ bardzo d│ugi, je£li plik mieszany by│ bardzo du┐y (np. 400M). WewnΩtrzny
limit tablicy strony zosta│ zwiΩkszony i aktualnie problem nie wystΩpuje.
Eksport obiekt≤w z odtworzonego MTA
W poprzedniej wersji DCOM95, serwer nie m≤g│ eksportowaµ obiekt≤w z kom≤rki MTA (Multi-Threaded Apartment), je£li nie by│o to pierwsze utworzenie MTA w procesie. Usterka zosta│a usuniΩta. Teraz je£li serwer tworzy MTA, niszczy je a nastΩpnie odtwarza MTA, obiekty mog╣ byµ eksportowane z MTA.
Wielokrotne wyst╣pienia plik≤w EXE Visual Basic 4
W DCOM95 v1.1, je£li uruchomione zosta│o wiele wyst╣pie± tego samego pliku wykonywalnego Visual Basic 4, a nastΩpnie by│y one zamykane w dowolnej kolejno£ci, poza kolejno£ci╣ uruchamiania, ostatni z plik≤w exe zawiesza│ siΩ. Efekt ten wystΩpowa│ tak┐e w przypadku formularzy E-Forms w programie Microsoft Exchange. Usterka zosta│a usuniΩta w ostatniej wersji DCOM95. Mo┐na zamykaµ pliki exe Visulal Basic 4 w dowolnej kolejno£ci.
Znaki rozszerzone w nazwach plik≤w Visual Basic
Je£li modu│ lub klasa Visual Basic otrzyma│a nazwΩ zawieraj╣c╣ znaki rozszerzone dla okre£lonego jΩzyka, plik taki nie m≤g│ byµ otwarty na komputerze skonfigurowanym dla innej lokalizacji.
Problem ten usuniΩto.
III. Znane problemy
-------------------
Corel WordPerfect Suite 7: Instalacja powoduje b│╣d nieprawid│owej strony
Je£li instalujesz pakiet Corel WordPerfect Suite 7 w systemie Windows 95, w kt≤rym dzia│a DCOM95, mo┐esz uzyskaµ b│╣d nieprawid│owej strony w Pf0d70.pfc podczas instalacji. Gdy pojawia siΩ ten b│╣d, po prostu zamknij okno dialogowe. Instalator powinien pomy£lnie kontynuowaµ dzia│anie.
Microsoft Access95: Nie dzia│a replikacja baz danych
Je£li pr≤bujesz replikowaµ bazΩ danych Access za pomoc╣ programu Microsoft Access 95 na komputerach z zainstalowanym modu│em DCOM95, mo┐esz, mo┐esz uzyskaµ nastΩpuj╣cy komunikat o b│Ωdzie:
Zako±czenie tej operacji w programie Microsoft Access nie jest mo┐liwe, poniewa┐ nie mo┐na znaleƒµ lub zainicjowaµ bilblioteki do│╣czanej dynamicznie Msjtrclr.
Jest to problem programu Microsoft Access 95. Mo┐na unikn╣µ tego problemu, pisz╣c program, kt≤ry wykorzystuje model obiektowy programu Access zamiast narzΩdzia do replikacji lub u┐ywaj╣c akt≤wki do replikacji.
W programie Microsoft Access 97 problem ten nie wystΩpuje.
WordPerfect
Je£li masz dokument programu WordPerfect zawieraj╣cy osadzony arkusz Corel, a arkusz zawiera inny osadzony obiekt (na przyk│ad mapΩ bitow╣), mo┐e pojawiµ siΩ ostrzegawcze okno dialogowe informuj╣ce, ┐e zosta│o utracone po│╣czenie sieciowe przy zamkniΩciu wewnΩtrznego obiektu. Takich ostrze┐e± mo┐e byµ cztery lub piΩµ. Wystarczy zamkn╣µ je i kontynuowaµ.
Klienci wielow╣tkowego modelu kom≤rkowego (MTA), kt≤rzy u┐ywaj╣ procedur konwersji BSTR mog╣ blokowaµ komunikaty dynamicznej wymiany danych (DDE)
Procedury automatycznej konwersji BSTR (na przyk│ad BstrFromR4) tworz╣ ukryte okna, aby u│atwiµ konwersjΩ typ≤w. Okna te nie obs│uguj╣ kolejki wiadomo£ci systemu Windows. Je£li takie okno zostanie utworzone w obrΩbie klienta MTA, komunikaty DDE mog╣ byµ blokowane. W╣tek klienta nie musi obs│ugiwaµ kolejki wiadomo£ci w modelu programowania MTA. Je£li nie obs│uguje go, okno najwy┐szego poziomu powoduje blokowanie globalnych komunikat≤w emisji.
Istniej╣ dwa wyj£cia z tej sytuacji. Nale┐y albo wywo│ywaµ procedury konwersji BSTR z klienta jednow╣tkowego modelu kom≤rkowego (STA), albo sprawiµ, ┐eby w╣tek MTA klienta zachowywa│ siΩ jak w╣tek STA (w╣tek STA musi obs│ugiwaµ kolejkΩ wiadomo£ci). Je£li w╣tek ten jest blokowany na doj£ciu win32, musi wywo│ywaµ funkcjΩ MsgWaitForMultipleObjects, aby jednocze£nie wysy│aµ komunikaty systemu Windows.
Je£li spr≤bujesz zarejestrowaµ bibliotekΩ do│╣czan╣ dynamicznie (DLL) z nazw╣ £cie┐ki, kt≤ra zawiera 128 znak≤w lub wiΩcej, rejestracja powiedzie siΩ, ale obiekty CoCreateInstance i CoGetClassObject bΩd╣ zwracaµ b│╣d (REGDB_E_CLASSNOTREG) przy pr≤bie uzyskania dostΩpu do obiektu obs│ugiwanego przez dan╣ bibliotekΩ DLL.
IV. R≤┐nice w stosunku do protoko│u DCOM systemu Windows NT
Podstawowa funkcjonalno£µ i interfejs programowania aplikacji (API) dla protoko│u DCOM95 s╣ takie same w systemie Windows 95 i Windows NT 4.0/5.0. Jednak niekt≤re funkcje zwi╣zane z zabezpieczeniami r≤┐ni╣ siΩ z powodu r≤┐nic w infrastrukturach zabezpiecze± tych system≤w operacyjnych. Zalecane jest u┐ywanie domy£lnych ustawie± zabezpiecze±; jest to r≤wnie┐ niezbΩdne do w│╣czenia zabezpiecze± "na poziomie u┐ytkownika" dla udzia│≤w systemu plik≤w. (Zobacz dalej.)
Jednak niekt≤re funkcje bΩd╣ce czΩ£ci╣ protoko│u DCOM dla systemu Windows NT nie bΩd╣ dostΩpne w systemie Windows 95 z powodu r≤┐nic w infrastrukturze zabezpiecze± systemu Windows 95.
W szczeg≤lno£ci nale┐y wzi╣µ pod uwagΩ brak w interfejsie Win32 API funkcji zabezpiecze±, takich jak mo┐liwo£µ tworzenia list kontroli dostΩpu (ACL) czy funkcja AccessCheck, a tak┐e brak kontekstu zabezpiecze± skojarzonego z tokenami w╣tku i procesu. System Windows 95 nie ma wbudowanej obs│ugi tych funkcji i konstrukcji. Z tego powodu, protok≤│ DCOM95 nie obs│uguje personifikacji (a w szczeg≤lno£ci funkcji CoImpersonateClient i CoRevertToSelf przez interfejs IServerSecurity), kt≤ra jest oparta na zabezpieczeniach token≤w w╣tku i procesu w systemie Windows NT 4.0. Personifikacja jest powszechnie u┐ywana do automatycznej kontroli dostΩpu do zasob≤w systemowych o ograniczonym dostΩpie, takich jak system plik≤w, inne procesy i sieµ. W systemie Windows 95 dostΩp do tych zasob≤w nie jest ograniczony.
Jednak protok≤│ DCOM95 oferuje programistom r≤┐ne obiekty pomocnicze dostarczaj╣ce funkcjonalno£ci ACL i AccessCheck, kt≤re mog╣ byµ u┐ywane przez zdalnych klient≤w do jawnej kontroli dostΩpu, zar≤wno do systemu, jak i zasob≤w i danych zdefiniowanych przez u┐ytkownika. Te obiekty pomocnicze s╣ dostarczane przez obiekt systemowy CLSID_DCOMAccessControl, kt≤ry implementuje interfejs IAccessControl.
Interfejs IAccessControl powinien byµ u┐ywany do programowego zarz╣dzania uprawnieniami zabezpiecze±, ilekroµ wa┐n╣ rolΩ odgrywa przeno£no£µ danych miΩdzy systemem Windows 95/98 i Windows NT. Obiekt CLSID_DCOMAccessControl jest dostΩpny we wszystkich wersjach protoko│u DCOM95 i w systemie Windows NT 4.0 w wersji SP2 lub nowszej. Szczeg≤│owe informacje dotycz╣ce interfejsu IAccessControl mo┐na znaleƒµ w dokumentacji Platform SDK.
Zabezpieczenia dostΩpu
Sterowanie tym, kto mo┐e uruchamiaµ kod serwera/klasy nie jest obs│ugiwane w protoko│u DCOM95, poniewa┐ nie jest obs│ugiwane uruchamianie serwer≤w. Serwery/klasy musz╣ ju┐ byµ uruchomione, aby zdalni klienci mogli siΩ z nimi po│╣czyµ i korzystaµ z ich us│ug.
Protok≤│ DCOM95 obs│uguje mo┐liwo£µ │╣czenia siΩ z ju┐ uruchomionymi serwerami/klasami. Zabezpieczenia dostΩpu s╣ obs│ugiwane poprzez klucz rejestru \APPID\{.}\AccessPermissions i dostosowywane przy u┐yciu narzΩdzia DCOMCNFG albo podczas instalacji lub konfigurowania kodu serwera.
Nieuwierzytelnieni u┐ytkownicy bΩd╣ mogli u┐ywaµ serwer≤w, je£li klasa zostanie skonfigurowana na obs│ugΩ po│╣cze± nieuwierzytelnionych (statycznie, przy u┐yciu narzΩdzia konfiguracji, lub dynamicznie, przy u┐yciu funkcji CoInitializeSecurity). Mo┐na r≤wnie┐ tworzyµ listy kontroli dostΩpu okre£laj╣ce, kt≤rzy u┐ytkownicy i grupy mog╣ uzyskaµ dostΩp do okre£lonych us│ug.
Poziomy uwierzytelniania
Klienci protoko│u DCOM95 mog╣ u┐ywaµ wywo│a± DCOM na ka┐dym poziomie uwierzytelniania. Serwery i klienci DCOM95 odbieraj╣cy wywo│ania zwrotne mog╣ akceptowaµ wywo│ania DCOM tylko przy u┐yciu poziomu uwierzytelniania RPC_C_AUTHN_LEVEL_NONE lub RPC_C_AUTHN_LEVEL_CONNECT.
Transporty
Protok≤│ DCOM95 obs│uguje po│╣czenia TCP. Je£li nie masz zainstalowanego protoko│u TCP/IP, protok≤│ DCOM95 nie bΩdzie w stanie obs│ugiwaµ protoko│u COM miΩdzy komputerami.
Ustawienie rejestru
NastΩpuj╣ce klucze rejestru znajduj╣ce siΩ w folderze HKEY_LOCAL_MACHINE\Software\Microsoft\OLE s╣ zwi╣zane z protoko│em DCOM95:
EnableDCOM (warto£µ domy£lna = "Y"). W│╣cza protok≤│ DCOM na danym komputerze. Je£li ustawiona zostanie warto£µ "N", komputer nie mo┐e siΩ │╣czyµ z komputerami zdalnymi ani uaktywniaµ na nich obiekt≤w, a komputery zdalne nie mog╣ siΩ │╣czyµ z obiektami na komputerze lokalnym. Ustawienie warto£ci "Y" powoduje, ┐e komputer mo┐e │╣czyµ siΩ z obiektami zdalnymi jako klient (gdy EnableRemoteConnect='N', co wyja£niono dalej), albo umo┐liwia pe│n╣ │╣czno£µ klient/serwer (gdy EnableRemoteConnect='Y', co wyja£niono dalej).
EnableRemoteConnect (warto£µ domy£lna = "N"). Umo┐liwia serwerom COM obs│ugΩ klient≤w zdalnych. Je£li ustawiona zostanie warto£µ "Y", odwo│ania do interfejs≤w obiekt≤w lokalnych mog╣ byµ przekazywane do klient≤w zdalnych, a klienci zdalni mog╣ │╣czyµ siΩ z uruchomionymi obiektami. Je£li ustawiona zostanie warto£µ "N", komputer mo┐e │╣czyµ siΩ z obiektami zdalnymi, ale nie mo┐e dzia│aµ jako serwer: komputer nie mo┐e │╣czyµ siΩ z uruchomionymi obiektami.
Ponadto, nastΩpuj╣cy klucz rejestru znajduje siΩ w folderze HKEY_CLASSES_ROOT\CLSID:
Zawiera on numer wersji protoko│u DCOM95 w formacie "a,b,c,d".
Warto£µ ta mo┐e byµ u┐ywana przez us│ugΩ Internet Component Download do okre£lenia, czy protok≤│ DCOM95 jest zainstalowany. Warto£µ ta jest dodawana do rejestru podczas instalacji i nie nale┐y jej modyfikowaµ.
U┐ywanie systemu Windows 95 jako hosta serwera zdalnego
System Windows 95 mo┐e byµ hostem serwera zdalnego, przy czym trzeba pamiΩtaµ o nastΩpuj╣cych ograniczeniach i warunkach:
* Nie ma mo┐liwo£ci uruchamiania proces≤w. Proces serwera musi
byµ ju┐ uruchomiony, aby klient m≤g│ siΩ z nim po│╣czyµ.
* Je£li wymagane s╣ po│╣czenia bezpieczne, serwer (a w przypadku
wywo│a± zwrotnych, klient) musi mieµ w│╣czon╣ kontrolΩ dostΩpu
na poziomie u┐ytkownika z ustawion╣ nazw╣ dostawcy
zabezpiecze±.
* Warto£µ rejestru "EnableRemoteConnect" musi byµ ustawiona
na "Y".
Protok≤│ DCOM95 by│ szeroko testowany przy u┐yciu dostawcy zabezpiecze± Windows NT Domain. Mog╣ wyst╣piµ problemy, je£li bΩdzie u┐ywany inny dostawca zabezpiecze±.
Aby ustanowiµ kontrolΩ dostΩpu na poziomie u┐ytkownika, trzeba zainstalowaµ plik Filesec.vxd. Plik ten jest zazwyczaj instalowany na komputerach systemu Windows 95 podczas instalacji us│ugi udostΩpniania plik≤w i drukarek.
Aby ustanowiµ kontrolΩ dostΩpu na poziomie u┐ytkownika, otw≤rz okno dialogowe "Sieµ" w Panelu sterowania, kliknij kartΩ "Kontrola dostΩpu", zaznacz opcjΩ "Kontrola dostΩpu na poziomie u┐ytkownika" i wprowadƒ nazwΩ domeny zabezpiecze±. Mo┐e to wp│yn╣µ na spos≤b, w jaki aktualnie udostΩpniasz w sieci katalogi ze swojego komputera; szczeg≤│y mo┐na znaleƒµ w dokumentacji online. Je£li karta "Kontrola dostΩpu" nie pojawia siΩ, trzeba zainstalowaµ us│ugΩ klienta sieci. W indeksie Pomocy online kliknij pozycjΩ "klienci sieci, instalacja", aby uzyskaµ informacje dotycz╣ce instalacji klienta sieci.
V. Redystrybucja
-----------------
Informacje dotycz╣ce redystrybucji protoko│u DCOM95 mo┐na znaleƒµ w Umowie licencyjnej u┐ytkownika (license.txt), kt≤ra okre£la zasady redystrybucji.
VI. Pomoc techniczna i zasoby
-----------------------------
Obs│uga serwisowa firmy Microsoft«
Odpowiedzi na pytania zwi╣zane záinstalacj╣ iáu┐ytkowaniem oprogramowania firmy Microsoft nale┐y szukaµ przede wszystkim w:
- Dokumentacji iáinnych materia│ach do│╣czonych do oprogramowania lub wáinformacjach pomocniczych zawartych wáplikach automatycznie kopiowanych podczas instalacji oprogramowania.
- Pomocy (Help), dostΩpnej bezpo£rednio záekranu komputera.
- W pliku informacji dodatkowych (zwykle Readme.txt), znajduj╣cym siΩ na dysku instalacyjnym. Wátym pliku zawarte s╣ istotne informacje na temat funkcjonowania programu oraz zmian, jakie pojawi│y siΩ po opracowaniu podrΩcznik≤w iádokumentacji.
- W Internecie. Polska witryna pomocy technicznej Microsoft ù http://www.microsoft.com/poland/problemy/ ù zawiera kilkadziesi╣t opis≤w pomagaj╣cych rozwi╣zaµ najczΩ£ciej wystΩpuj╣ce problemy techniczne. Witryna zawiera r≤wnie┐ bardziej rozbudowane artyku│y techniczne.
Wszystkim legalnym, zarejestrowanym u┐ytkownikom oprogramowania Microsoft, kt≤rzy nie mog╣ znaleƒµ rozwi╣zania problemu technicznego wáwy┐ej wymienionych ƒr≤d│ach lub nie maj╣ do nich dostΩpu, firma Microsoft oferuje bezp│atn╣ pomoc telefoniczn╣.
Standardowa pomoc techniczna
Pomoc techniczna £wiadczona przez Biuro Pomocy Technicznej jest bezp│atna. Biuro Pomocy Technicznej obs│uguje legalnych iázarejestrowanych u┐ytkownik≤w produkt≤w firmy Microsoft. Biuro udziela porad telefonicznych pod numerem (0-22)á865á99á66 wágodzinach od 9:00 do 17:00, od poniedzia│ku do pi╣tku, záwyj╣tkiem £wi╣t.
Ograniczenia zakresu bezp│atnej pomocy
Biuro Pomocy Technicznej:
- Nie obs│uguje wizyt.
- Nie rozwi╣zuje problem≤w zg│oszonych za po£rednictwem poczty (np. przez przys│anie dyskietki), faksu, poczty elektronicznejáù záwyj╣tkiem przypadk≤w uzgodnionych uprzednio telefonicznie.
- Nie udziela informacji handlowych ani informacji na temat oferty lub dostΩpno£ci produkt≤w iáus│ug Microsoft. Wszelkie tego typu pytania prosimy kierowaµ do Infoserwisu Microsoft.
- Nie udziela pomocy technicznej dla produkt≤w zárodziny Microsoft BackOffice«.
- Je£li produkt firmy Microsoft zosta│ zakupiony wraz ze sprzΩtem komputerowym lub jako preinstalowany przez producenta na komputerze osobistym, do £wiadczenia pomocy technicznej zobowi╣zany jest wy│╣cznie producent komputera. Aby uzyskaµ pomoc techniczn╣ dla takiego produktu, nale┐y skontaktowaµ siΩ záproducentem lub sprzedawc╣, od kt≤rego zosta│ nabyty produkt firmy Microsoft.
Rejestracja produktu
Po zainstalowaniu oprogramowania, nale┐y wys│aµ pod wskazany adres wype│nion╣ kartΩ rejestracyjn╣. W ci╣gu ok. 2átygodni otrzymaj╣ Pa±stwo zwrotnie potwierdzenie rejestracji oraz sta│y numer klienta, na kt≤ry nale┐y siΩ powo│ywaµ wákontaktach záBiurem Pomocy.
Procedura korzystania záus│ug Biura Pomocy Technicznej
Aby u│atwiµ iáprzyspieszyµ procedurΩ udzielenia pomocy, przed zadzwonieniem do Biura Pomocy Technicznej powinni Pa±stwo przygotowaµ nastΩpuj╣ce informacje:
- Numer identyfikacyjny klienta (otrzymany wraz zápotwierdzeniem rejestracji).
- Identyfikator produktu (Product ID). Jest to numer widoczny po wybraniu zámenu Pomoc (Help) polecenia <nazwa produktu>áù informacje (About <nazwa produktu>).
- Rodzaj iáwersja oprogramowania Microsoft, kt≤rego dotyczy pytanie.
- Marka iátyp u┐ywanego komputera oraz informacje oá£rodowisku pracy (samodzielny komputer, sieµ).
- Opis problemu: podczas jakich czynno£ci wyst╣pi│ iájakie s╣ jego objawy.
- Jakie pr≤by rozwi╣zania problemu zosta│y podjΩte przed skonsultowaniem siΩ záBiurem Pomocy Technicznej.
Firma Microsoft zastrzega sobie mo┐liwo£µ wprowadzenia zmian wázasadach funkcjonowania obs│ugi technicznej bez uprzedniego powiadomienia. Wáprzypadku konieczno£ci zmiany numer≤w telefon≤w, stosowne informacje podawane bΩd╣ wánaszej witrynie internetowej pod adresem http://www.microsoft.com/poland/ oraz wákorespondencji wysy│anej okresowo do zarejestrowanych klient≤w.
Inne programy iáus│ugi pomocy technicznej
Firma Microsoft oferuje r≤wnie┐ programy iáus│ugi pomocy technicznej dla firm, kt≤re wymagaj╣ wiΩcej ni┐ standardowej pomocy wáprzypadku wyst╣pienia problemu. Aby uzyskaµ aktualne informacje na ten temat, nale┐y odwiedziµ witrynΩ Obs│ugi technicznej online firmy Microsoft pod adresem http://www.microsoft.com/poland/support/ lub skontaktowaµ siΩ záprzedstawicielstwem firmy Microsoft.
Infoserwis
Wszelkie pytania nie zwi╣zane záproblemami technicznymi, wátym pytania dotycz╣ce oferty handlowej iádostΩpno£ci produkt≤w firmy Microsoft, oraz pro£by oáinformacje na temat poszczeg≤lnych produkt≤w, nale┐y kierowaµ do Infoserwisu Microsoft lub bezpo£rednio do naszych przedstawicieli handlowych. Infoserwis udziela informacji na temat przedstawicieli handlowych znajduj╣cych siΩ najbli┐ej Pa±stwa. Telefon Infoserwisu: (0-22)á865á99á33 wágodzinach od 9:00 do 17:00, od poniedzia│ku do pi╣tku, záwyj╣tkiem £wi╣t. Infoserwis nie udziela pomocy technicznej.
Firma Microsoft zastrzega sobie mo┐liwo£µ wprowadzenia zmian wázasadach funkcjonowania Infoserwisu bez uprzedniego powiadomienia. Wáprzypadku konieczno£ci zmiany numer≤w telefon≤w, stosowne informacje podawane bΩd╣ wánaszej witrynie internetowej pod adresem http://www.microsoft.com/poland/ oraz wákorespondencji wysy│anej okresowo do zarejestrowanych klient≤w.
VII. Lista plik≤w
--------------------
W nastΩpuj╣cej tabeli zamieszczono listΩ numer≤w wersji plik≤w dostarczanych z protoko│em DCOM95.
oleaut32.dll 2.40.4275
secur32.dll 4.10.1999
compobj.dll 2.3.2
ole2.dll 2.3.2
ole32.dll 4.71.2900
olecnv32.dll 4.71.2900
olethk32.dll 4.71.2900
rpcltc1.dll 4.71.2900
rpcltc5.dll 4.71.2900
rpcltccm.dll 4.71.2900
rpclts5.dll 4.71.2900
rpcltscm.dll 4.71.2900
rpcns4.dll 4.71.2900
rpcrt4.dll 4.71.2900
rpcss.exe 4.71.2900
storage.dll 2.3.2
stdole2.tlb 2.40.4275
stdole32.tlb 2.1
imagehlp.dll 4.00
dllhost.exe 4.71.2900
comcat.dll 5.0
iprop.dll 4.00
rpcmqcl.dll 4.71.2900
rpcmqsvr.dll 4.71.2900
olepro32.dll 5.0.4275
asycfilt.dll 2.40.4275
dcom2w98.dll 2.10.35.35
W nastΩpuj╣cej tabeli zamieszczono listΩ numer≤w wersji plik≤w dostarczanych z protoko│em DCM95CFG.