Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De stilstaand beeldinterfaces definiëren twee overdrachtsmodi - statusmodus en gegevensmodus. Wanneer een client van de IStillImage COM-interface IStillImage::CreateDevice aanroept voor toegang tot een stilstaand beeldapparaat, specificeert het een (of beide) van de overdrachtsmodi. Meerdere clients kunnen een apparaat openen in de statusmodus, maar slechts één client tegelijk mag een apparaat openen in de gegevensmodus.
De monitor voor stilstaande beelden opent apparaten in de statusmodus. Normaal gesproken, maar niet altijd, worden API's voor beeldacquisitie geopend in gegevensmodus.
Zodra een client een apparaat in de datamodus heeft geopend, worden de daaropvolgende statische afbeelding apparaat gebeurtenissen in een interne wachtrij opgeslagen. Als de client IStiDevice::Subscribe aanroept, kunnen gebeurtenissen uit de wachtrij worden gelezen door IStiDevice::GetLastNotificationData aan te roepen. Nadat de client het apparaat heeft gesloten, hebben ontvangen gebeurtenissen ertoe gezorgd dat de gebeurtenismonitor opnieuw probeert een geregistreerde toepassing te starten.
De betekenis van de twee overdrachtsmodi is volledig afhankelijk van de minidriver in de gebruikersmodus van het apparaat. Met de IStillImage - en IStiDevice-interfaces kunnen alle methoden in beide modus worden aangeroepen.
Een minidriver kan de modus bepalen waarin deze is geopend door IStiDevice::GetLastNotificationData aan te roepen. Minidrivers moeten een client verbieden om gegevensoverdrachten uit te voeren als de client alleen de statusmodus heeft aangevraagd bij het verkrijgen van toegang tot het apparaat.
Het is belangrijk om te weten dat apparaten doorgaans gedurende relatief lange tijd worden geopend in de statusmodus (bijvoorbeeld de gebeurtenismonitor kijkt naar apparaatevenementen), terwijl ze gedurende relatief korte tijd worden geopend in de gegevensmodus (bijvoorbeeld om in een afbeelding te lezen). Hoewel de stilstaande beeldarchitectuur slechts één client tegelijk toestaat om een apparaat in de datamodus te openen, kan een stuurprogramma het nodig achten om verdere beperkingen op de toegang tot het apparaat te leggen.
Als u bijvoorbeeld een stuurprogramma schrijft voor een apparaat dat is verbonden met een seriële poort, kunt u CreateFile aanroepen vanuit de IStiOPGEGEVEN::LockDevice-methode van het stuurprogramma als het apparaat is geopend in de statusmodus. Hiermee voorkomt u dat andere toepassingen de poort gebruiken (die mogelijk andere apparaten ondersteunt) terwijl statusinformatie wordt verkregen van het apparaat.
Voor apparaten die zijn verbonden met toegewezen poorten, zoals SCSI- of USB-busapparaten, is het meestal toegestaan Om CreateFile aan te roepen vanuit IStiOPGEGEVEN::Initialiseer als de statusmodus is opgegeven, omdat het apparaat en de poort altijd worden toegewezen aan één client.
Wanneer een apparaat wordt geopend in de gegevensmodus, wordt CreateFile meestal aangeroepen vanuit IStiUSD:Initialize, onafhankelijk van het bustype.