Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Struktura IddCx (Indirect Display Driver Class eXtension) używa rozszerzalnego modelu obiektów UMDF do reprezentacji różnych komponentów urządzeń wyświetlania pośredniego. Model obiektów UMDF umożliwia skojarzenie magazynu specyficznego dla sterownika z każdym obiektem IddCx (a tym samym UMDF). Aby uzyskać więcej informacji, zobacz model obiektów UMDF.
Kolejność tworzenia obiektów IDD to:
- Sterownik najpierw tworzy obiekt IDDCX_ADAPTER.
- Następnie sterownik tworzy obiekt IDDCX_MONITOR.
- Po utworzeniu obiektów IDDCX_ADAPTER i IDDCX_MONITOR system operacyjny tworzy obiekty IDDCX_SWAPCHAIN i IDDCX_OPMCTX i wysyła je do sterownika.
Poniższe sekcje zawierają więcej szczegółów dotyczących tych obiektów.
IDDCX_ADAPTER
Obiekt ten reprezentuje pojedynczy logiczny adapter wyświetlania utworzony przez sterownik w dwuetapowym procesie:
- Sterownik wywołuje funkcję wywołania zwrotnego IddCxAdapterInitAsync.
- System operacyjny wywołuje EvtIddCxAdapterInitFinished DDI w celu zakończenia inicjalizacji.
Model IDD nie posiada jawnego wywołania zwrotnego dla zniszczenia adaptera. Po pomyślnym zakończeniu sekwencji inicjowania adapter jest uznawany za prawidłowy aż do momentu zatrzymania urządzenia UMDF przekazanego podczas inicjowania. Gdy sterownik wyświetlania pośredniego (IDD) tworzy adapter, udostępnia statyczne informacje o adapterze wyświetlania pośredniego.
Obsługa urządzeń wielofunkcyjnych
W najprostszym przypadku istnieje jednoznaczne mapowanie między obiektem urządzenia UMDF utworzonym przez podsystem plug and play dla dołączonego pośredniego urządzenia wyświetlającego a obiektem IDDCX_ADAPTER tworzonym przez IDD.
Mogą istnieć bardziej złożone scenariusze, w których jeden pośredni przełącznik wyświetlacza zawiera wiele urządzeń plug and play. Na przykład rozwiązanie do wyświetlania pośredniego może mieć wiele funkcji urządzenia PnP, takich jak mikrofon (sterownik audio) i aparat (sterownik wideo). W takich sytuacjach identyfikator jest odpowiedzialny za utworzenie pojedynczego obiektu IDDCX_ADAPTER dla wielu obiektów urządzeń UMDF utworzonych dla każdego urządzenia PnP. Sterownik musi wziąć pod uwagę następujące kwestie w tym scenariuszu:
- IDDCX_ADAPTER należy utworzyć tylko po pomyślnym uruchomieniu wszystkich urządzeń PnP tworzących rozwiązanie do wyświetlania pośredniego.
- Sterownik musi przekazać jeden WDFDEVICE podczas tworzenia adaptera, więc potrzebuje logiki, aby zdecydować, które urządzenie UMDF zostanie przekazane.
- Jeśli którykolwiek z urządzeń tworzących adapter wyświetlania pośredniego ma błąd sprzętowy, sterownik powinien zgłosić, że wszystkie urządzenia tworzące adapter mają błąd.
IDDCX_MONITOR
Obiekt ten reprezentuje konkretny monitor podłączony do jednego ze złącz na adapterze wyświetlania pośredniego.
Sterownik tworzy obiekt monitora w procesie dwuetapowym:
- Najpierw wywołuje funkcję zwrotną IddCxMonitorCreate w celu utworzenia obiektu IDDCX_MONITOR.
- Następnie wywołuje IddCxMonitorArrival wywołanie zwrotne, aby ukończyć przybycie monitora.
Gdy monitor jest odłączony, sterownik wywołuje wywołanie zwrotne IddCxMonitorDeparture, aby go zgłosić. To wywołanie powoduje zniszczenie obiektu IDDCX_MONITOR. Nawet jeśli ten sam monitor jest odłączony, a następnie ponownie połączony, należy wywołać ponownie sekwencję IddCxMonitorDeparture/IddCxMonitorArrival.
IDDCX_MONITOR jest elementem podrzędnym obiektu IDDCX_ADAPTER.
IDDCX_SWAPCHAIN
Ten obiekt reprezentuje swapchain, który dostarcza obrazy z pulpitu do wyświetlania na połączonym monitorze. Łańcuch wymiany ma wiele buforów, aby umożliwić systemowi operacyjnemu składanie następnego obrazu pulpitu w jednym buforze, podczas gdy identyfikator IDD uzyskuje dostęp do innego bufora. IDDCX_SWAPCHAIN jest elementem podrzędnym IDDCX_MONITOR, więc w danym momencie do danego monitora przypisany jest tylko jeden swapchain.
System operacyjny tworzy i niszczy obiekty IDDCX_SWAPCHAIN i przypisuje je/nieprzypisuje do monitorów przy użyciu wywołań EvtIddCxMonitorAssignSwapChain i EvtIddCxMonitorUnassignSwapChain.
IDDCX_OPMCTX
Ten obiekt reprezentuje aktywny kontekst programu Output Protection Manager (OPM) z pojedynczego kontekstu OPM aplikacji, którego aplikacja może używać do kontrolowania ochrony danych wyjściowych na jednym monitorze. Wiele kontekstów OPM może być jednocześnie aktywnych na danym monitorze. System operacyjny wywołuje sterownik, aby utworzyć i zniszczyć konteksty OPM przy użyciu wywołań DDI EvtIddCxMonitorOPMCreateProtectedOutput oraz EvtIddCxMonitorOPMDestroyProtectedOutput.