URL Monikers
OLE-monikerarkitekturen är en praktisk programmeringsmodell för att arbeta med URL:er. Moniker-arkitekturen stöder utökningsbar och fullständig namnparsning via funktionen MkParseDisplayName och IParseDisplayName och IMoniker-gränssnitt, samt utskrivbara namn via metoden IMoniker::GetDisplayName. Det IMoniker--gränssnittet är det sätt på vilket du faktiskt använder URL:er som du stöter på, och att skapa komponenter som passar in i monikerarkitekturen är sättet att faktiskt utöka URL-namnområden i praktiken.
En monikerklass som tillhandahålls av systemet, URL-monikern, tillhandahåller ett ramverk för att skapa och använda vissa URL:er. Eftersom URL:er ofta ser resurser i nätverk med långa svarstider stöder URL-monikern både asynkron och synkron bindning. URL-monikern stöder för närvarande inte asynkron lagring.
Följande diagram visar de komponenter som ingår i användningen av URL-monikers. Alla dessa komponenter bör vara bekanta. (Se asynkrona Monikers.)
Precis som alla monikerklienter skapar och innehåller en användare av URL Monikers vanligtvis en referens till monikern samt till bindningskontexten som ska användas under bindningen (IMoniker::BindToStorage eller IMoniker::BindToObject). För att stödja asynkron bindning kan klienten implementera ett bindningsstatusåteranropsobjekt som implementerar gränssnittet IBindStatusCallback och registrera det med bindningskontexten med hjälp av funktionen RegisterBindStatusCallback. Det här objektet tar emot transportens IBinding--gränssnitt under anrop till IBindStatusCallback::OnStartBinding.
URL Moniker identifierar protokollet som används genom att parsa URL-prefixet och hämtar sedan IBinding--gränssnittet från transportskiktet. Klienten använder IBinding- för att stödja pausning, annullering och prioritering av bindningsåtgärden. Motringningsobjektet tar också emot förloppsmeddelanden via IBindStatusCallback::OnProgress, meddelande om datatillgänglighet via IBindStatusCallback::OnDataAvailableoch olika andra meddelanden på transportnivå om bindningens status. URL-monikern eller specifika transportlager kan också begära utökad information från klienten via IBindStatusCallback::QueryInterface, vilket gör att klienten kan tillhandahålla protokollspecifik information som påverkar bindningsåtgärden.
Mer information finns i följande avsnitt:
Relaterade ämnen