home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2000 December
/
PCWorld_2000-12_cd.bin
/
Komunikace
/
IE55Cz
/
DCOM95.EXE
/
1033
/
RCDATA
/
CABINET
/
relnotes.txt
< prev
next >
Wrap
Text File
|
1999-03-03
|
33KB
|
812 lines
DCOM95 1.3
Poznßmky k verzi
Poslednφ ·prava: 14. zß°φ 1998
SouΦßst DCOM95 poskytuje podporu distribuovanΘho modelu COM
pro systΘm Microsoft(r) Windows(r) 95. Spojovacφ protokol DCOM
zajiÜ¥uje neobsluhovanou podporu pro spolehlivou, bezpeΦnou
a efektivnφ komunikaci mezi souΦßstmi modelu COM (Component
Object Model), nap°φklad ovlßdacφmi prvky ActiveX(r), skripty
a aplety Java umφst∞n²mi na r∙zn²ch poΦφtaΦφch v sφti LAN,
v sφti WAN nebo v sφti Internet. Pomocφ souΦßsti DCOM m∙₧e b²t
vaÜe aplikace distribuovßna na mφsta, kterß nejlΘpe vyhovujφ
zßkaznφk∙m a vaÜφ aplikaci.
PodrobnΘ informace najdete v technickΘm p°ehledu DCOM, kter²
je k dispozici na domovskΘ strßnce Microsoft COM na adrese
http://www.microsoft.com/com/.
Obsah
=====
I. NovΘ funkce
II. OÜet°enφ chyb
III. ZnßmΘ problΘmy
IV. Rozdφly oproti programu DCOM pro systΘm Windows NT
V. Opakovanß distribuce
VI. Podpora a zdroje informacφ
VII. Seznam soubor∙
I. NovΘ funkce
--------------
Nelze nahrazovat souΦßst DCOM95 starÜφ verzφ
V p°edchozφch verzφch programu DCOM95 bylo mo₧nΘ nahradit
novou verzi programu DCOM95 jeho starÜφ verzφ. V tΘto verzi je
vÜak p°i instalaci provßd∞na kontrola Φφsla verze a nenφ
povolena instalace starÜφ verze p°es verzi nov∞jÜφ. Toto
chovßnφ eliminuje problΘmy s nekompatibilnφmi verzemi
dynamick²ch knihoven (DLL).
Podpora procesu monitorovßnφ aplikace Visual Studio verze 6.0
SouΦßst DCOM95 v rßmci podpory aplikace Visual Studio
verze 6.0 zajiÜ¥uje monitorovßnφ informacφ, pomocφ nich₧ mohou
v²vojß°i lΘpe porozum∞t chovßnφ, v²konu a struktu°e jejich
aplikace. Pou₧φvßte-li program Visual Studio Analyzer
na poΦφtaΦi s operaΦnφm systΘmem Windows 95, m∞li byste v₧dy
pou₧φvat tuto verzi programu.
Nov² adresß° vytvo°en² p°i instalaci
InstalaΦnφ program vytvß°φ v systΘmovΘm adresß°i adresß°
s nßzvem DCOM95. V tomto adresß°i je ulo₧ena licenΦnφ smlouva
a dalÜφ soubory. InstalaΦnφ program rovn∞₧ v adresß°i DCOM95
vytvo°φ podadresß° OLDOLE, do kterΘho jsou ulo₧eny zßlo₧nφ
kopie binßrnφch soubor∙ DCOM95 a OLE. Tyto soubory jsou
obnoveny, pokud v budoucnosti program DCOM95 deinstalujete.
Slu₧by CIS
Slu₧by CIS (COM Internet Services) umo₧≥ujφ klient∙m a
server∙m p°ipojenφ k sφti Internet prost°ednictvφm modelu COM.
Slu₧by CIS sestßvajφ z nßsledujφcφch Φßstφ:
* nov² protokol DCOM - Tunneled TCP,
* nov² typ p°ezdφvky - moniker OBJREF,
* nov² obslu₧n² program CISCNFG.
Pokud chcete zajistit podporu klienta CIS v systΘmu Windows
95, musφte nainstalovat oba programy DCOM95 a DCOMCFG. PotΘ
pou₧ijte nßstroj CISCNFG, kter² je instalovßn p°i instalaci
konfiguraΦnφho programu DCOM a provßdφ registraci klφΦe
definujφcφho protokol pro vzdßlenΘ procesy. Do p°φkazovΘho
°ßdku zadejte p°φkaz:
ciscnfg <protokol>
Parametr <protokol> m∙₧e mφt tyto hodnoty:
* rpc - pou₧itφ protokolu RPC,
* http - pou₧itφ protokolu HTTP,
* tcp_http - nejprve je proveden pokus o pou₧itφ protokolu
TCP; pokud na serveru vyprÜφ Φasov² limit, je pou₧it
protokol HTTP.
P°φkaz ciscnfg bez argument∙ zobrazφ informace o pou₧itφ.
Pou₧itφ protokolu Tunneled TCP nevy₧aduje ₧ßdnΘ aktualizace
SDK.
Bylo provedeno n∞kolik aktualizacφ pro monikery OBJREF.
CreateObjrefMoniker
Vytvo°φ moniker OBJREF na zßklad∞ ukazatele na objekt.
WINOLEAPI CreateObjrefMoniker(
LPUNKNOWN pUnk, //Ukazatel na objekt
LPMONIKER *ppMk //Ulo₧enφ adresy ukazatele do monikeru
OBJREF
);
Parametry
pUnk
Ukazatel na rozhranφ IUnknown objektu, kter² mß moniker
reprezentovat.
ppMk
Adresa ukazatele na rozhranφ IMoniker vytvo°enΘho monikeru
OBJREF.
NßvratovΘ hodnoty
Tato funkce podporuje standardnφ nßvratovΘ hodnoty
E_OUTOFMEMORY
a E_UNEXPECTED. Dßle podporuje hodnotu:
S_OK
Moniker typu OBJREF byl ·sp∞Ün∞ vytvo°en.
Poznßmky
Klienti pou₧itφm moniker∙ OBJREF zφskßvajφ za°azen² ukazatel
na spuÜt∞n² objekt v adresovΘm prostoru serveru. Server
standardn∞ volßnφm funkce CreateObjrefMoniker vytvo°φ moniker
typu OBJREF, potΘ volß funkci IMoniker::GetDisplayName
a nakonec moniker uvolnφ. Zobrazen² nßzev monikeru OBJREF mß
tvar:
OBJREF:nnnnnnnn
kde nnnnnnnn je generovan² k≤d typu long (64 bit∙), kter²
zahrnuje umφst∞nφ poΦφtaΦe, koncov² bod procesu
a identifikßtor rozhranφ (IPID) spuÜt∞nΘho objektu.
Zobrazen² nßzev lze v textovΘm tvaru p°enΘst na klienta.
M∙₧ete jej nap°φklad umφstit na strßnku HTML, kterou klient
stßhne.
Klient m∙₧e p°edat zobrazen² nßzev funkci MkParseDisplayName,
kterß na jeho zßklad∞ vytvo°φ moniker OBJREF. Volßnφm metody
IMoniker::BindToObject monikeru pak zφskßte za°azen² ukazatel
na instanci spuÜt∞nou na serveru. SouΦßst COM na stran∞
serveru obsa₧enß na aktivnφ strßnce serveru m∙₧e nap°φklad
vytvo°it moniker OBJREF, zφskat p°φsluÜn² zobrazen² nßzev
a zapsat zobrazen² nßzev do v²stupu HTML, kter² je odeslßn
klientskΘmu prohlφ₧eΦi. Skript, kter² je spuÜt∞n na klientskΘ
stanici, m∙₧e prost°ednictvφm zobrazenΘho nßzvu p°istupovat k
samotnΘmu spuÜt∞nΘmu objektu. Klientsk² skript Visual Basic
m∙₧e nap°φklad ulo₧it zobrazen² nßzev do prom∞nnΘ s nßzvem
strMyName a zahrnovat nßsledujφcφ °ßdek:
objMyInstance = GetObject(strMyName)
Skriptovacφ jßdro provede intern∞ volßnφ funkcφ
MkParseDisplayName a IMoniker::BindToObject. Skript pak m∙₧e
prost°ednictvφm prom∞nnΘ objMyInstance odkazovat p°φmo
na spuÜt∞n² objekt.
Pokud spuÜt∞n² objekt pou₧φvß statickΘ identifikßtory IPID
a serverov² proces je v₧dy spuÜt∞n na stejnΘm poΦφtaΦi v dob°e
znßmΘm koncovΘm bodu, bude zobrazen² nßzev monikeru OBJREF
v₧dy stejn². V tomto p°φpad∞ server m∙₧e ulo₧it zobrazen²
nßzev a nemusφ jej p°i ka₧dΘm po₧adavku na objekt znovu
poΦφtat.
IMoniker - implementace monikeru OBJREF
Moniker OBJREF p°edstavuje odkaz na instanci objektu, kterß je
spuÜt∞na na vn∞procesovΘm serveru, a to lokßln∞ nebo vzdßlen∞.
Moniker identifikuje instanci objektu a poΦφtaΦ, na kterΘm je
objekt spuÜt∞n.
Moniker typu OBJREF se v mnoha ohledech podobß monikeru typu
ukazatel s tφm rozdφlem, ₧e spuÜt∞n² objekt je vn∞procesov².
Klient m∙₧e volat metodu IMoniker::BindToObject monikeru
OBJREF a pomocφ zφskanΘho ukazatele p°istupovat ke spuÜt∞nΘmu
objektu bez ohledu na jeho umφst∞nφ.
D∙le₧itou odliÜnostφ od monikeru typu ukazatel je takΘ fakt,
₧e zobrazen² nßzev monikeru typu OBJREF lze vlo₧it na strßnku
HTML a spuÜt∞n² objekt p°edstavovan² monikerem m∙₧e b²t svßzßn
s klientsk²m skriptem, apletem nebo ovlßdacφm prvkem ActiveX.
P°φklady pou₧itφ
Moniker OBJREF se primßrn∞ pou₧φvß p°i zφskßnφ p°φstupu
k instanci spuÜt∞nΘho objektu v sφti Internet. Aktivnφ
serverovß strßnka nebo jin² prost°edek generovßnφ dynamickΘho
obsahu HTML vlo₧φ zobrazen² nßzev monikeru OBJREF jako
parametr do apletu nebo do ovlßdacφho prvku ActiveX. K≤d
apletu nebo ovlßdacφho prvku vyvolßnφm funkce
CreateObjrefMoniker vytvo°φ na zßklad∞ zobrazenΘho nßzvu
moniker OBJREF, kter² potΘ vyvolß funkci
IMoniker::BindToObject. Tφm je zφskßn p°φstup k instanci
spuÜt∞nΘho objektu. Aktivnφ serverovß strßnka potΘ za°adφ
ukazatel na spuÜt∞n² objekt zpßtky klientovi strßnky.
Poznßmky
Metoda IMoniker::BindToObject. Pro monikery OBJREF musφ mφt
parametr pmkToLeft hodnotu NULL. Vzhledem k tomu, ₧e moniker
OBJREF p°edstavuje spuÜt∞n² objekt, neprovßdφ se ₧ßdnß
aktivace. Pokud objekt, kter² moniker reprezentuje, nenφ
spuÜt∞n, funkce BindToObject sel₧e a vrßtφ hodnotu
E_UNEXPECTED.
Metoda IMoniker::BindToStorage. Tato metoda obsahuje za°azen²
ukazatel na vy₧adovanΘ rozhranφ v pam∞¥ovΘm prostoru, kter²
obsahuje spuÜt∞n² objekt. Vzhledem k tomu, ₧e moniker typu
OBJREF p°edstavuje spuÜt∞n² objekt, neprovßdφ se ₧ßdnß
aktivace. Pokud objekt, kter² moniker reprezentuje, nenφ
spuÜt∞n, funkce BindToStorage sel₧e a vrßtφ hodnotu
E_UNEXPECTED.
Metoda IMoniker::Reduce. Tato metoda vracφ hodnotu
MK_S_REDUCED_TO_SELF a p°edßvß ji zpßtky stejnΘmu monikeru.
Metoda IMoniker::ComposeWith. Je-li parametr pmkRight
antimonikerem, vrßcen² moniker mß hodnotu NULL. P°edstavuje-li
parametr pmkRight slo₧enou strukturu, jejφ₧ levß souΦßst je
antimoniker, bude mφt vrßcen² moniker slo₧enou strukturu,
z nφ₧ je odebrßn lev² antimoniker. Pokud nenφ parametr
pmkRight antimonikerem ani slo₧en²m monikerem, jeho₧
nejlev∞jÜφ souΦßst je antimoniker, pak metoda ov∞°uje parametr
fOnlyIfNotGeneric. Pokud je nastaven na hodnotu FALSE, metoda
slouΦφ oba monikery do obecnΘ slo₧enΘ struktury. Pokud mß
parametr hodnotu TRUE, metoda nastavφ ukazatel *ppmkComposite
na hodnotu NULL a vrßtφ chybov² k≤d MK_E_NEEDGENERIC.
Metoda IMoniker::Enum. Tato metoda vracφ hodnotu S_OK
a nastavuje ukazatel ppenumMoniker na hodnotu NULL.
Metoda IMoniker::IsEqual. Tato metoda vracφ hodnotu S_OK
v p°φpad∞, ₧e ukazatel *pmkOther je monikerem OBJREF a cesty
pro oba monikery jsou identickΘ (p°i porovnßnφ bez rozliÜenφ
mal²ch a velk²ch pφsmen). V opaΦnΘm p°φpad∞ vracφ metoda
hodnotu S_FALSE.
Metoda IMoniker::Hash. Tato metoda vypoΦφtß haÜovacφ hodnotu
pro moniker.
Metoda IMoniker::IsRunning. Vzhledem k tomu, ₧e monikery typu
OBJREF p°edstavujφ instance spuÜt∞n²ch objekt∙, vracφ tato
metoda hodnotu TRUE, pokud se vzhledem k p°edchozφ chyb∞
volßnφ nezjistilo, ₧e objekt ji₧ nenφ spuÜt∞n. Metoda ignoruje
parametr pmkToLeft.
Metoda IMoniker::GetTimeOfLastChange. Tato metoda vracφ
hodnotu E_NOTIMPL.
Metoda IMoniker::Inverse. Tato metoda vracφ antimoniker
(nap°φklad v²sledky volßnφ funkce CreateAntiMoniker).
Metoda IMoniker::CommonPrefixWith. Pokud si jsou dva monikery
rovny, metoda vracφ hodnotu MK_S_US a nastavuje ukazatel
*ppmkPrefix na hodnotu NULL. Pokud druh² moniker nenφ
monikerem OBJREF, metoda p°edß oba monikery funkci
MonikerCommonPrefixWith. Tato funkce sprßvn∞ oÜet°φ p°φpad,
kdy druh² moniker p°edstavuje slo₧enou strukturu.
Pokud neexistuje spoleΦnß p°edpona, metoda vracφ chybov² k≤d
MK_E_.
Metoda IMoniker::RelativePathTo. Tato metoda vracφ hodnotu
E_NOTIMPL.
Metoda IMoniker::GetDisplayName. Tato metoda obsahuje
zobrazen² nßzev pro moniker typu OBJREF. Zobrazen² nßzev je
64bitov² k≤d, kter² obsahuje umφst∞nφ poΦφtaΦe, koncov² bod
zpracovßnφ a identifikßtor rozhranφ (IPID) spuÜt∞nΘho objektu.
Z d∙vodu dalÜφ kompatibility sm∞jφ b²t v zobrazenΘm jmΘnu
pou₧ity pouze znaky, kterΘ lze uvΘst takΘ v adrese URL.
Metoda IMoniker::ParseDisplayName. Je-li parametr pmkToLeft
nastaven na hodnotu NULL, vracφ metoda hodnotu MK_E_SYNTAX.
Metoda IMoniker::IsSystemMoniker. Tato metoda vracφ hodnotu
S_OK a p°edßvß zprßtky parametr MKSYS_OBJREFMONIKER.
Podpora datov²ch typ∙ aplikace Visual Basic verze 6.0
Aplikace Visual Basic(r) verze 6.0 umo₧≥uje, aby prom∞nnΘ typu
Variant obsahovaly u₧ivatelem definovanΘ datovΘ struktury.
Poslednφ verze programu DCOM95 podporuje vzdßlenΘ pou₧itφ
t∞chto prom∞nn²ch.
II. OÜet°enφ chyb
-----------------
Chybovß podmφnka p°i uvol≥ovßnφ vφce modul∙
P°i souΦasnΘm uvol≥ovßnφ n∞kolika modul∙ mohla v p°edchozφch
verzφch programu DCOM95 vzniknout chybovß podmφnka.
V zßvislosti na po°adφ p°enßÜenφ modul∙ mohlo dojφt k naruÜenφ
p°φstupu. Tento problΘm je v novΘ verzi programu DCOM95
vy°eÜen.
Nereagujφcφ poΦφtaΦ p°i vyjednßvßnφ protokol∙ RPC
P°edchozφ verze programu DCOM95 b∞hem vyjednßvßnφ protokol∙
nezpracovßvaly systΘmovΘ zprßvy. V n∞kter²ch p°φpadech
dochßzelo k tomu, ₧e pokud u₧ivatel spustil jinou aplikaci
b∞hem doby vyjednßvßnφ protokol∙ RPC, poΦφtaΦ nereagoval. Po
30 sekundßch bylo zpracovßnφ systΘmov²ch zprßv obnoveno.
UvedenΘ chovßnφ bylo v poslednφ verzi programu DCOM95 zm∞n∞no
- aplikace tedy lze bez problΘm∙ spouÜt∞t i p°i vyjednßvßnφ
protokol∙ RPC.
Nereagujφcφ poΦφtaΦ p°i spuÜt∞nφ novΘ aplikace
Modul RPC vytvo°φ skrytΘ okno v apartmßnu MTA (Multiple-
Threaded Apartment), kter² nezpracovßvß systΘmovΘ zprßvy
specifickΘ pro program DCOM. Pokud u₧ivatel spustφ novou
aplikaci na klientskΘm poΦφtaΦi, systΘm Windows odeÜle zprßvu
vÜem ostatnφm manipulaΦnφm rutinßm oken, uv∞domφ je o tΘto
udßlosti a oΦekßvß odezvu. V p°edchozφch verzφch programu
DCOM95 skrytΘ okno RPC v n∞kter²ch p°φpadech neodpov∞d∞lo
a systΘm Windows p°estal reagovat. V tΘto verzi programu
DCOM95 je tento problΘm oÜet°en a okno RPC ji₧ nem∙₧e
zp∙sobit, ₧e poΦφtaΦ p°i spuÜt∞nφ novΘ aplikace p°estane
reagovat.
PoÜkozenφ haldy IP adres
Pokud jste provozovali program DCOM95 na poΦφtaΦi s n∞kolika
IP adresami, mohlo v n∞kter²ch p°φpadech dojφt k p°epln∞nφ
vyrovnßvacφ pam∞ti IP adres a nßsledn∞ k poÜkozenφ haldy.
Tento problΘm je v novΘ verzi programu DCOM95 vy°eÜen.
Pou₧itφ pouze prvnφ IP adresy
Pokud jste provozovali p°edchozφ verzi programu DCOM95
na poΦφtaΦi se dv∞ma adaptΘrov²mi kartami (a tedy se dv∞ma IP
adresami p°i°azen²mi t∞mto kartßm), program DCOM95 pou₧φval
pouze jeden sφ¥ov² adaptΘr. V tΘto verzi programu DCOM95 se
pou₧φvß prvnφ karta a pokud tato karta nefunguje, je pou₧ita
druhß karta.
Protokol RPC - pokus o pou₧itφ vφce IP adres
Pokud p°i volßnφ vzdßlenΘ procedury na poΦφtaΦi s n∞kolika IP
adresami dojde k selhßnφ prvnφ adresy, je pokus zopakovßn
s dalÜφ adresou.
Monikery soubor∙ - podpora rozÜφ°enΘ syntaxe cesty
Monikery soubor∙ mohou b²t nynφ vytvo°eny na zßklad∞ argument∙
ve tvaru <poΦßteΦnφ_adresß°><relativnφ_cesta>, nap°φklad
"C:\bug\bug\..\..\foo.jpg". V programu DCOM95 1.1 byly
povoleny pouze relativnφ cesty (nap°φklad "..\..\foo.jpg")
nebo absolutnφ cesty (nap°φklad "C:\foo.jpg").
Zßva₧nß chyba p°i uvoln∞nφ knihovny Oleaut32.dll
V p°edchozφch verzφch programu DCOM95 dochßzelo p°i uvoln∞nφ
knihovny Oleaut32.dll p°ed volßnφm funkce CoUninitialize k
zßva₧nΘ chyb∞. K chyb∞ dochßzelo nejΦast∞ji p°i vytvo°enφ
ovlßdacφho prvku v aplikaci Visual Basic, ke kterΘmu byla
staticky p°ipojena knihovna Oleaut32.dll, a p°i nßslednΘm
uvoln∞nφ ovlßdacφho prvku p°ed volßnφm funkceCoUninitialize.
V novΘ verzi DCOM95 je tento p°φpad oÜet°en a zßva₧nß chyba se
ji₧ neobjevuje.
Za°azenφ a vy°azenφ datov²ch typ∙ aplikace Visual Basic
Za°azenφ a vy°azenφ n∞kter²ch datov²ch typ∙ v aplikaci Visual
Basic bylo opraveno. V tΘto verzi jsou povoleny parametry typu
matice s velikostφ v∞tÜφ ne₧ 64 kB. Sprßvn∞ jsou takΘ
za°azovßny (vy°azovßny) struktury definovanΘ pou₧itφm alias∙
na typ.
Odstran∞nφ atom∙ ve funkci OleUninitialize
Tato chyba se vyskytovala v aplikacφch, kterΘ obsahovaly
n∞kolik volßnφ funkce OleInitialize a OleUninitialize.
Technologie OLE p°i inicializaci p°idß °adu atom∙ pro protokol
DDE RPC. Pokud atomy ji₧ byly p°idßny jin²m procesem, nejsou
p°idßny znovu. P°i deinstalaci vÜak byly atomy v₧dy odstran∞ny
a manipulßtory nebyly nastaveny na hodnotu NULL. Proto p°i
dalÜφm volßnφ funkce OleInitialize jeÜt∞ existovaly p∙vodnφ
manipulßtory, p°esto₧e atomy ji₧ byly odstran∞ny,
a technologie OLE je tudφ₧ nep°idala. Toto chovßnφ m∞lo
za nßsledek, ₧e vÜechny atomy OLE se po n∞kolika volßnφch
funkcφ OleInitialize a OleUninitialize staly neplatn²mi.
V poslednφ verzi programu DCOM95 je tento problΘm odstran∞n.
SprßvnΘ ukonΦenφ server∙ ADO
Objekty ADO (Active Data Objects) pou₧φvajφ monikery typu
ukazatel ke spuÜt∞nφ procesu na serveru. P°edchozφ verze
programu DCOM95 obsahovaly chybu t²kajφcφ se poΦφtßnφ odkaz∙
na monikery typu ukazatel. P°i vytvo°enφ byl pro tyto monikery
nastaven ΦφtaΦ na hodnotu 1, nikoli na hodnotu 0. Proto poΦet
odkaz∙ na moniker typu ukazatel nikdy nebyl nulov² a nemohlo
tedy dojφt k uvoln∞nφ monikeru. D∙sledkem bylo, ₧e servery ADO
nebyly nikdy ukonΦeny a to ani v p°φpad∞, ₧e byl uvoln∞n
poslednφ ukazatel, kter² na n∞ odkazoval. V poslednφ verzi
programu DCOM95 je tento problΘm odstran∞n.
Funkce CoCreateInstance s vlastnφm nßzvem DNS
V p°edchozφch verzφch programu DCOM95 volßnφ funkce
CoCreateInstance s ·pln²m nßzvem lokßlnφho poΦφtaΦe
nefungovalo. Tato chyba byla v poslednφ verzi programu DCOM95
odstran∞na a funkce CoCreateInstance nynφ sprßvn∞ vytvß°φ
instance lokßlnφho poΦφtaΦe.
ZdlouhavΘ potvrzenφ v ko°enovΘ pam∞ti pro rozsßhl² slo₧en²
soubor
V p°edchozφch verzφch programu DCOM95 se Φas potvrzenφ pro
ko°enovou pam∞¥ otev°enou v re₧imu STGM_TRANSACTED velmi
prodlu₧oval, pokud velikost slo₧enΘho souboru nar∙stala
(nap°φklad na 400 MB). Tento nßr∙st ji₧ nezp∙sobuje problΘmy,
proto₧e byly zv²Üeny hornφ meze internφ tabulky strßnek.
Export objekt∙ ze znovu vytvo°enΘho apartmßnu MTA
V p°edchozφch verzφch programu DCOM95 server nemohl exportovat
objekt z apartmßnu MTA (Multi-Threaded Apartment), pokud se
nejednalo o prvnφ vytvo°enφ apartmßnu MTA v procesu. Tento
problΘm byl odstran∞n. Pokud v tΘto verzi server vytvo°φ
apartmßn MTA, zruÜφ jej a nßsledn∞ jej znovu vytvo°φ, lze
objekty z apartmßnu MTA exportovat.
NßsobnΘ instance soubor∙ EXE aplikace Visual Basic 4
Pokud v programu DCOM95 verze 1.1 spustφte vφce instancφ
stejnΘho spustitelnΘho souboru aplikace Visual Basic 4
a ukonΦφte je v jakΘmkoli po°adφ s v²jimkou zp∙sobu LIFO
(Last-In First-Out), poslednφ soubor exe p°estane reagovat.
Tento problΘm se t²kal takΘ elektronick²ch formulß°∙
v programu Microsoft Exchange. V poslednφ verzi programu
DCOM95 je tento problΘm odstran∞n. SpustitelnΘ soubory
aplikace Visual Basic 4 te∩ m∙₧ete zavφrat v libovolnΘm
po°adφ.
RozÜφ°enΘ znaky v nßzvech soubor∙ aplikace Visual Basic
Pokud jste pro pojmenovßnφ modulu nebo t°φdy aplikace Visual
Basic pou₧ili rozÜφ°enΘ znaky danΘho jazyka, mohlo se stßt, ₧e
soubor nebylo mo₧nΘ otev°φt na poΦφtaΦφch nakonfigurovan²ch
pro jinou lokalitu. Tento problΘm je odstran∞n.
III. ZnßmΘ problΘmy
-------------------
Corel WordPerfect Suite 7: Instalace zp∙sobuje chybu neplatnΘ
strßnky
Pokud instalujete sadu Corel WordPerfect Suite 7 v systΘmu
Windows 95 se spuÜt∞n²m programem DCOM95, m∙₧e p°i instalaci
dojφt k chyb∞ neplatnΘ strßnky v souboru PfOd70.pfc. Pokud
dojde k tΘto chyb∞, staΦφ zav°φt dialogovΘ okno s chybou.
Instalace bude dßle pokraΦovat.
Microsoft Access95: Replikace databßzφ nefunguje
Pokud se pokusφte replikovat databßzi Access pomocφ aplikace
Microsoft Access 95 na poΦφtaΦi s instalovan²m programem
DCOM95, m∙₧e se zobrazit chybovß zprßva tohoto typu:
Aplikace Microsoft Access nem∙₧e tuto operaci dokonΦit,
proto₧e nelze najφt nebo inicializovat dynamickou knihovnu
Msjtrclr.
Jednß se o problΘm aplikace Microsoft Access 95. Uveden²
problΘm m∙₧ete obejφt tak, ₧e napφÜete program, kter² provede
replikaci pomocφ objektovΘho modelu Access, nikoli pomocφ
standardnφho replikaΦnφho nßstroje, nebo pokud pou₧ijete
replikaci pomocφ kuf°φku. V aplikaci Microsoft Access 97
replikace funguje bez problΘm∙.
WordPerfect
Pokud mßte dokument programu WordPerfect obsahujφcφ vlo₧enou
tabulku Corel a tabulka obsahuje dalÜφ vlo₧en² objekt
(nap°φklad bitovou mapu), m∙₧e se zobrazit dialogovΘ okno
s varovßnφm, ₧e p°i zav°enφ nejvφce vno°enΘho objektu dojde
ke ztrßt∞ sφ¥ovΘho spojenφ. Toto varovßnφ se m∙₧e objevit
Φty°ikrßt nebo p∞tkrßt. NevÜφmejte si ho. DialogovΘ okno
s varovßnφm zav°ete a pokraΦujte v prßci.
Klienti MTA (Multiple-threaded apartment), kte°φ pou₧φvajφ
p°evodnφ rutiny BSTR, mohou zablokovat zprßvy DDE
AutomatickΘ p°evodnφ rutiny BSTR (nap°φklad funkce BstrFromR4)
vytvß°ejφ skrytß okna, kterΘ zajiÜ¥ujφ p°evod typ∙. Tato okna
neobsluhujφ systΘmovou frontu zprßv. Je-li takovΘ okno
vytvo°eno v klientovi MTA, m∙₧e dojφt k zablokovßnφ zprßv DDE.
Proces klienta nemß ₧ßdn² zßvazek v∙Φi obsluhovßnφ fronty
zprßv v programovacφm modelu MTA. Pokud tento p°φpad nastane,
okno nejvyÜÜφ ·rovn∞ zablokuje globßlnφ ploÜnΘ zprßvy.
Tento problΘm lze obejφt dv∞ma zp∙soby. P°evodnφ funkci BSTR
lze vyvolat v rßmci klienta STA (Single-Threaded Apartment),
nebo lze p°inutit proces MTA klienta, aby se choval jako
proces STA. (Proces STA musφ obsluhovat systΘmovou frontu
zprßv.) Je-li proces blokovßn na manipulßtoru win32, musφ
volat funkci MsgWaitForMultipleObjects, kterß pr∙b∞₧n∞
zpracovßvß zprßvy systΘmu Windows.
Cesty ke knihovnßm DLL delÜφ ne₧ 127 znak∙ generujφ chybu
Pokud registrujete knihovnu DLL s cestou delÜφ ne₧ 127 znak∙,
registrace bude ·sp∞Ünß, ale funkce CoCreateInstance nebo
CoGetClassObject vrßtφ chybu (REGDB_E_CLASSNOTREG) p°i pokusu
o p°φstup k objektu podporovanΘmu danou knihovnou DLL.
IV. Rozdφly oproti programu DCOM pro systΘm Windows NT
------------------------------------------------------
ZabezpeΦenφ v programu DCOM95
Zßkladnφ funkce a aplikaΦnφ programovΘ rozhranφ (API) programu
DCOM95 je pro systΘmy Windows 95a Windows NT verze 4.0/5.0
identickΘ. N∞kterΘ vlastnosti t²kajφcφ se zabezpeΦenφ jsou
vÜak odliÜnΘ, proto₧e oba systΘmy majφ r∙znou infrastrukturu
zabezpeΦenφ. DoporuΦuje se pou₧φt v²chozφ nastavenφ
zabezpeΦenφ danΘho systΘmu. Na sdφlen²ch souborov²ch systΘmech
je nezbytnΘ povolit zabezpeΦenφ "na ·rovni u₧ivatele" (viz
nφ₧e).
K dispozici jsou nßsledujφcφ slu₧by, kter²mi m∙₧ete potlaΦit
v²chozφ zabezpeΦenφ:
* CoInitializeSecurity
* CoQueryAuthenticationService
* CoQueryProxyBlanket
* CoSetProxyBlanket
* CoQueryClientBlanket
* IClientSecurity - rozhranφ
* IServerSecurity - rozhranφ
N∞kterΘ funkce, kterΘ jsou souΦßstφ programu DCOM pro Windows
NT, vÜak nebudou k dispozici v systΘmu Windows 95 z d∙vodu
rozdφl∙ v infrastruktu°e zabezpeΦenφ v systΘmu Windows 95.
PoΦφtat byste m∞li zejmΘna s nedostateΦn²mi funkcemi
zabezpeΦenφ v rozhranφ API Win32, jako je nap°φklad mo₧nost
vytvo°enφ seznam∙ p°φstupov²ch prßv (ACL), s funkcφ
AccessCheck a s nedostateΦn²m kontextem zabezpeΦenφ
p°idru₧en²m k tokenu procesu a podprocesu. SystΘm Windows 95
tyto funkce nebo konstrukce ve v²chozφm stavu nepodporuje.
Z tohoto d∙vodu program DCOM95 nebude podporovat zm∞nu
personifikace (p°esn∞ji pomocnΘ funkce CoImpersonateClient
a CoRevertToSelf v rozhranφ IServerSecurity), kterß je
zalo₧ena na zabezpeΦenφ procesu a podprocesu v systΘmu Windows
NT 4.0. Zm∞na personifikace se obvykle pou₧φvß pro automatickΘ
°φzenφ p°φstupu k systΘmov²m prost°edk∙m s omezen²mi
p°φstupov²mi prßvy (nap°φklad souborov² systΘm), k dalÜφm
proces∙m a do sφt∞. P°φstup k t∞mto prost°edk∙m nelze
v systΘmu Windows 95 omezit.
Program DCOM95 nicmΘn∞ nabφzφ programßtor∙m r∙znΘ pomocnΘ
objekty, kterΘ zajiÜ¥ujφ seznamy ACL a kontrolu p°φstupov²ch
funkcφ, jimi₧ lze explicitn∞ °φdit p°φstup vzdßlen²ch klient∙
na oba systΘmy a u₧ivatelem definovanΘ prost°edky nebo data.
Tyto pomocnΘ objekty jsou poskytnuty v systΘmovΘm objektu
CLSID_DCOMAccessControl, kter² implementuje rozhranφ
IAccessControl.
Rozhranφ IAccessControl, kter²m lze programov∞ ovlßdat
oprßvn∞nφ zabezpeΦenφ, byste m∞li pou₧φt ve vÜech p°φpadech,
kdy budete uva₧ovat o p°enositelnosti mezi systΘmy Windows
95/98 a Windows NT. Objekt CLSID_DCOMAccessControl je
k dispozici ve vÜech verzφch programu DCOM95 a v systΘmu
Windows NT verze 4.0 SP2 nebo vyÜÜφch. DalÜφ informace
o objektu IAccessControl najdete v dokumentaci SDK dodßvanΘ
k operaΦnφmu systΘmu.
ZabezpeΦenφ spuÜt∞nφ a p°φstupu
V programu DCOM95 nenφ podporovßna funkce, kterß by urΦovala,
kdo m∙₧e spustit k≤d serverovΘ t°φdy, proto₧e spouÜt∞nφ
server∙ nenφ podporovßno. Aby se vzdßlenφ klienti mohli
p°ipojovat k server∙m Φi t°φdßm a vyu₧φvat jejich slu₧by,
musejφ b²t tyto servery a slu₧by ji₧ spuÜt∞ny.
Program DCOM95 podporuje mo₧nost p°ipojenφ ke t°φdßm
a k server∙m, kterΘ jsou ji₧ spuÜt∞ny. ZabezpeΦenφ p°φstupu je
podporovßno prost°ednictvφm klφΦe \APPID\{.}\AccessPermissions
v registru a lze jej upravit pomocφ nßstroje DCOMCNFG nebo p°i
instalaci Φi nastavenφ serverovΘho k≤du. Neov∞°enφ u₧ivatelΘ
budou moci pou₧φvat servery pouze v p°φpad∞, ₧e
nakonfigurujete t°φdu tak, aby podporovala neov∞°enß spojenφ
(prost°ednictvφm statick²ch konfiguraΦnφch nßstroj∙ nebo
dynamicky pomocφ funkce CoInitializeSecurity). M∙₧ete takΘ
sestavit seznam p°φstupov²ch prßv a definovat, kte°φ u₧ivatelΘ
Φi skupiny mohou p°istupovat k urΦit²m slu₧bßm.
┌rovn∞ ov∞°enφ
Klienti DCOM95 mohou provßd∞t volßnφ DCOM prost°ednictvφm
jakΘkoli ·rovn∞ ov∞°enφ. Servery nebo klienti DCOM95, kte°φ
p°ijφmajφ zp∞tnß volßnφ, mohou p°ijmout volßnφ DCOM pouze
pomocφ ·rovn∞ ov∞°enφ RPC_C_AUTHN_LEVEL_NONE nebo
RPC_C_AUTHN_LEVEL_CONNECT.
P°enos
Program DCOM95 podporuje pouze p°ipojenφ typu TCP. Pokud
nemßte nainstalovan² protokol TCP/IP, program DCOM95 nebude
podporovat komunikaci mezi poΦφtaΦi.
Nastavenφ registru
Program DCOM95 instaluje do slo₧ky
HKEY_LOCAL_MACHINE\Software\Microsoft\OLE registru tyto klφΦe:
EnableDCOM (v²chozφ hodnota = "Y"). Povoluje pou₧itφ programu
DCOM na danΘm poΦφtaΦi. Pokud klφΦ nastavφte na hodnotu "N",
poΦφtaΦ nem∙₧e navazovat p°ipojenφ nebo aktivovat objekty na
vzdßlen²ch poΦφtaΦφch a vzdßlenΘ poΦφtaΦe neumo₧≥ujφ p°ipojenφ
k objekt∙m na lokßlnφm poΦφtaΦi. Nastavenφ klφΦe na hodnotu
"Y" umo₧≥uje klientskΘ p°ipojenφ ke vzdßlen²m objekt∙m (pokud
platφ EnableRemoteConnect='N', viz nφ₧e) nebo plnohodnotnΘ
p°ipojenφ typu klient/server (pokud platφ
EnableRemoteConnect='Y', viz nφ₧e).
EnableRemoteConnect (v²chozφ hodnota = "N"). Povoluje server∙m
COM podporovat vzdßlenΘ klienty. Je-li klφΦ nastaven na
hodnotu "Y", odkazy na rozhranφ na lokßlnφch objektech lze
p°edat vzdßlen²m klient∙m a vzdßlenφ klienti se mohou
p°ipojovat ke spuÜt∞n²m objekt∙m. Je-li klφΦ nastaven na
hodnotu "N", dan² poΦφtaΦ se m∙₧e p°ipojovat ke vzdßlen²m
objekt∙m, ale nem∙₧e fungovat jako server - nem∙₧e se
p°ipojovat ke spuÜt∞n²m objekt∙m.
Na adrese HKEY_CLASSES_ROOT\CLSID v registru navφc najdete
nßsledujφcφ klφΦ:
{bdc67890-4fc0-11d0-a805-00aa006d2ea4}\InstalledVersion.
Obsahuje Φφslo verze programu DCOM95 ve formßtu "a,b,c,d".
Tato hodnota m∙₧e b²t pou₧ita p°i stahovßnφ souΦßsti po sφti
Internet k urΦenφ, zda je program DCOM95 instalovßn. Hodnota
je do registru vlo₧ena p°i instalaci a nem∞li byste jφ m∞nit.
Pou₧itφ systΘmu Windows 95 jako hostitele vzdßlenΘho serveru
SystΘm Windows 95 m∙₧e b²t hostitelem vzdßlenΘho serveru s
nßsledujφcφmi p°ipomφnkami:
* Nenφ k dispozici funkce spuÜt∞nφ. Klient se m∙₧e
p°ipojit pouze tehdy, je-li spuÜt∞n p°φsluÜn² serverov²
proces.
* Pokud jsou pot°eba zabezpeΦenß spojenφ, server
(a v p°φpad∞ zp∞tn²ch volßnφ takΘ klient) musφ mφt
nastaveno °φzenφ p°φstupu na ·rovni u₧ivatele
s nastaven²m nßzvem zprost°edkovatele zabezpeΦenφ.
* KlφΦ "EnableRemoteConnect" registru musφ b²t nastaven
na hodnotu "Y".
Program DCOM95 byl nejvφce testovßn pou₧itφm zprost°edkovatele
domΘnovΘho zabezpeΦenφ v systΘmu Windows NT. P°i pou₧itφ
jin²ch zprost°edkovatel∙ zabezpeΦenφ m∙₧e dochßzet k chybßm.
Chcete-li nastavit °φzenφ p°φstupu na ·rovni u₧ivatele, musφte
nainstalovat soubor Filesec.vxd. Tento soubor je obecn∞
instalovßn v systΘmech Windows 95 p°i instalaci sdφlenφ
soubor∙ a tiskov²ch prost°edk∙.
Chcete-li aktivovat °φzenφ p°φstupu na ·rovni u₧ivatele,
otev°ete dialogovΘ okno Sφ¥ z ovlßdacφch panel∙, klepn∞te
na kartu ╪φzenφ p°φstupu a vyberte volbu Individußlnφ °φzenφ
p°φstupu a zadejte nßzev domΘny zabezpeΦenφ. Toto nastavenφ
m∙₧e ovlivnit zp∙sob aktußlnφho sdφlenφ adresß°∙ v sφti z
vaÜeho poΦφtaΦe. Podrobnosti najdete v dokumentaci online.
Pokud v dialogovΘm okn∞ pro konfigurace sφt∞ chybφ panel
╪φzenφ p°φstupu, musφte nejprve nainstalovat slu₧bu sφ¥ovΘho
klienta. Informace o instalaci sφ¥ovΘho klienta zobrazφte,
pokud v rejst°φku nßpov∞dy online zadßte heslo klienti -
nastavovßnφ.
V. Opakovanß distribuce
-----------------------
Informace o dalÜφ distribuci programu DCOM95 najdete
v p°φsluÜn²ch pokynech, kterΘ jsou uvedeny v licenΦnφ smlouv∞
pro koncovΘ u₧ivatele (soubor license.txt).
VI. Podpora a zdroje informacφ
------------------------------
Pr∙vodce odbornou pomocφ spoleΦnosti Microsoft
Pokud mßte technickΘ dotazy t²kajφcφ se systΘmu Microsoft«
Windows 98, pou₧ijte tuto p°φruΦku ZaΦφnßme s aplikacφ
Microsoft« Windows 98 nebo nßpov∞du. Budete-li mφt dotazy
i nadßle, nabφzφ vßm spoleΦnost Microsoft odbornou pomoc
a slu₧by sahajφcφ od nßstroj∙ vlastnφ pomoci a₧ po p°φmou
podporu poskytovanou pracovnφkem odbornΘ pomoci spoleΦnosti
Microsoft.
Nßstroje vlastnφ pomoci
Odbornß pomoc online spoleΦnosti Microsoft: Tento nov² server
vyu₧φvß p°evratn²ch technologiφ spoleΦnosti Microsoft k tomu,
abyste m∞li p°φstup k nejd∙le₧it∞jÜφm odborn²m informacφm
a prost°edk∙m, kterΘ vßm poskytnou odpov∞∩ na vaÜe dotazy.
Pomocφ poradc∙ p°i potφ₧φch snadno urΦφte problΘmy a naleznete
odpov∞di na svΘ otßzky. M∙₧ete si takΘ vybrat z vφce ne₧
75 000 odborn²ch Φlßnk∙, pom∙cek pro programovßnφ nebo
nejΦast∞ji kladen²ch otßzek v databßzi Microsoft Knowledge Base.
NavÜtivte server http://support.microsoft.com/support/
a p°esv∞dΦte se, jak snadnΘ je zφskat pot°ebnΘ informace.
(V ╚eskΘ republice m∙₧ete takΘ navÜtφvit mφstnφ server
na adrese http://support.microsoft.cz/,
na Slovensku na adrese http://support.microsoft.sk/).
P°φmß podpora poskytovanß pracovnφkem odbornΘ pomoci
spoleΦnosti Microsoft
Standardnφ bezplatnß odbornß pomoc: Budete-li p°esto
pot°ebovat pomoc p°i °eÜenφ odborn²ch problΘm∙, nabφzφ vßm
spoleΦnost Microsoft pro maloobchodnφ verze* tohoto produktu
nßsledujφcφ standardnφ bezplatnou odbornou pomoc:
Neomezenß bezplatnß odbornß pomoc t²kajφcφ se pou₧itelnosti
produktu vΦetn∞ funkcφ, p°φkaz∙ nabφdek, formßtovßnφ, instalace
a dalÜφch otßzek spojen²ch s u₧ivatelsk²m rozhranφm.
V ╚eskΘ republice zφskßte standardnφ bezplatnou pomoc
na telefonnφm Φφsle (02) 21 50 32 22 od pond∞lφ do pßtku
(mimo svßtky) mezi 9 a 17 hod. Na Slovensku volejte ve stejnΘm
Φase na Φφslo (07) 67 29 62 96.
* Pokud byl produkt spoleΦnosti Microsoft p°edem nainstalovßn
nebo dodßn ji₧ s poΦφtaΦem, je za poskytnutφ odbornΘ pomoci
odpov∞dn² v²robce vaÜeho poΦφtaΦe. V takovΘm p°φpad∞ se obra¥te
na v²robce nebo na zdroj, ze kterΘho jste produkt spoleΦnosti
Microsoft zφskali.
Smlouva odbornΘ pomoci Priority Support:
Pokud p°edpoklßdßte, ₧e budete po₧adovat v∞tÜφ rozsah pomoci
nebo pot°ebujete mφt k pracovnφk∙m odbornΘ pomoci spoleΦnosti
Microsoft p°ednostnφ p°φstup, poskytne vßm podrobnΘ informace
zastoupenφ spoleΦnosti Microsoft v ╚eskΘ republice na telefonnφm
Φφsle (02) 611 97 111, od pond∞lφ do pßtku (mimo svßtky) od 8:30
do 18:00 hod.
Odesφlßnφ dotaz∙ prost°ednictvφm sφt∞ Internet: V ╚eskΘ
republice a na Slovensku m∙₧ete dotazy na odbornou pomoc
Priority Support (tato slu₧ba je placenß) odesφlat
prost°ednictvφm internetovΘ slu₧by Web Response. Bli₧Üφ
informace vßm poskytne odbornß pomoc online spoleΦnosti
Microsoft na adrese http://www.microsoft.cz/support/.
DalÜφ mo₧nosti podpory
Programy a slu₧by odbornΘ pomoci: Odbornß pomoc spoleΦnosti
Microsoft dßle nabφzφ profesionßlnφ programy a slu₧by odbornΘ
pomoci pro st°ednφ a velkΘ organizace, kterΘ po₧adujφ vφce ne₧
pouhΘ °eÜenφ standardnφch potφ₧φ. DalÜφ informace zφskßte
v Φßsti Odbornß pomoc souboru nßpov∞dy nebo na serveru Odbornß
pomoc online spoleΦnosti Microsoft na adrese
http://www.microsoft.cz/support/.
Celosv∞tovß odbornß pomoc spoleΦnosti Microsoft: Nejste-li
na ·zemφ ╚eskΘ republiky nebo Slovenska a mßte dotaz t²kajφcφ
se produktu spoleΦnosti Microsoft, prove∩te nejprve nßsledujφcφ:
Ov∞°te si informace v tomto souboru nßpov∞dy nebo v p°φruΦce
k produktu. ProΦt∞te si soubory readme dodanΘ spoleΦn∞ s disky
k produktu. Tyto soubory poskytujφ obecnΘ informace, kterΘ byly
shromß₧d∞ny krßtce p°ed uvedenφm produktu na trh. Vyhledejte
podporu online na adrese http://support.microsoft.com/support/.
Nem∙₧ete-li nalΘzt °eÜenφ, poskytne vßm mφstnφ poboΦka
spoleΦnosti Microsoft informace o zφskßnφ podpory pro produkt.
Slu₧by odbornΘ pomoci spoleΦnosti Microsoft se °φdφ momentßln∞
aktußlnφmi cenami, termφny a podmφnkami, kterΘ se mohou zm∞nit
bez p°edchozφho upozorn∞nφ.
VII. Seznam soubor∙
-------------------
Tato tabulka obsahuje seznam Φφsel verzφ soubor∙
distribuovan²ch s programem 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
Tato tabulka obsahuje seznam Φφsel verzφ soubor∙
distribuovan²ch s programem DCM95CFG.
dcomcnfg.exe 5.00.1603.0
ciscnfg.exe 4.71.2618