Windows Portable Devices (skrót: WPD) – technologia umożliwiająca komunikację komputerów z podłączonymi urządzeniami multimedialnymi oraz magazynującymi. Technologia ta zapewnia elastyczny i wydajny sposób interakcji z odtwarzaczami muzycznymi, pamięciami przenośnymi, telefonami komórkowymi, aparatami fotograficznymi oraz wieloma innymi typami urządzeń. System ten zastąpił starsze rozwiązania, takie jak Windows Media Device Manager (WMDM) oraz Windows Image Acquisition (WIA).

Aplikacje oparte na architekturze WPD mogą eksplorować zasoby urządzenia, przesyłać dane w obie strony, a także sprawować kontrolę nad sprzętem – na przykład wyzwolić migawkę aparatu lub wysłać wiadomość tekstową. Projekt systemu kładzie nacisk na:

elastyczność – umożliwiającą obsługę wielu różnorodnych typów urządzeń, rozszerzalność – pozwalającą programistom sterowników na definiowanie własnych właściwości i poleceń dla specyficznego sprzętu.

W ramach WPD możliwe jest tworzenie zarówno aplikacji systemowych (Windows), jak i aplikacji webowych. Do tworzenia aplikacji natywnych wykorzystywany jest interfejs API WPD, obsługujący języki C++, C# .NET oraz Visual Basic .NET. Z kolei aplikacje webowe wykorzystują model obiektowy automatyzacji WPD (WPD Automation Object Model), bazujący na technologiach JScript oraz HTML.

Interfejs programistyczny WPD API jest obsługiwany przez systemy operacyjne Windows XP, Windows Vista oraz Windows 7. Model obiektowy automatyzacji jest dostępny wyłącznie w systemie Windows 7 i nowszych. Technologia i zestaw interfejsów programistycznych (API) wprowadzonych przez firmę Microsoft w systemie operacyjnym Windows (począwszy od wersji Windows Vista), służący do ujednoliconej komunikacji z urządzeniami przenośnymi.

WPD zastąpiło starsze rozwiązania, takie jak Windows Media Device Manager (WMDM) oraz Windows Image Acquisition (WIA) w zakresie obsługi urządzeń konsumenckich, oferując bardziej elastyczny model przesyłania danych i metadanych.

Architektura i działanie Architekturę WPD można podzielić na trzy główne procesy. W ich ramach funkcjonują trzy kluczowe komponenty systemu: interfejs programistyczny (API), serializator oraz sterownik. Poniższy schemat przedstawia relacje między procesami i komponentami tworzącymi strukturę WPD.

API (Application Programming Interface): Umożliwia aplikacjom komunikację z urządzeniami poprzez standardowy zestaw funkcji. Serializator (Serializer): Odpowiada za pakowanie danych i poleceń w format zrozumiały dla niższych warstw stosu oraz ich rozpakowywanie (deserializację) przy odbiorze. Sterownik (Driver): Komponent działający zazwyczaj w trybie użytkownika (UMDF), który bezpośrednio zarządza komunikacją ze sprzętem.

Obsługiwane protokoły WPD pełni rolę warstwy abstrakcji, co oznacza, że użytkownik i aplikacje widzą urządzenie w ten sam sposób, niezależnie od tego, jak fizycznie przesyła ono dane. Technologia ta najczęściej wykorzystuje:

: Rozszerzenie protokołu PTP, zoptymalizowane pod kątem odtwarzaczy multimedialnych i smartfonów (Android, Windows Phone). PTP (Picture Transfer Protocol): Standard komunikacji z aparatami cyfrowymi. : Standardowy protokół dla pamięci USB i dysków zewnętrznych.

Kluczowe cechy W porównaniu do klasycznego modelu pamięci masowej (MSC), WPD oferuje szereg zaawansowanych funkcji:Mark Russinovich, Windows Internals, Part 2, Microsoft Press (rozdział o I/O system)

Brak konieczności blokowania systemu plików: W trybie MSC system operacyjny przejmuje wyłączną kontrolę nad partycją urządzenia (co uniemożliwia np. korzystanie z galerii w telefonie podczas przesyłania zdjęć). WPD pozwala na jednoczesny dostęp do danych zarówno przez komputer, jak i system operacyjny urządzenia. Obsługa metadanych: Możliwość edycji tagów ID3, informacji o autorze czy danych EXIF bezpośrednio podczas przesyłania. Zarządzanie energią i statusami: System może odczytywać poziom naładowania baterii czy status połączenia sieciowego urządzenia. Konwersja "w locie": Możliwość automatycznej zmiany formatu pliku na taki, który jest obsługiwany przez dane urządzenie podczas kopiowania.

Zastosowanie WPD jest fundamentem działania Eksploratora plików w zakresie obsługi urządzeń mobilnych. Jest również wykorzystywane przez:

Windows Media Player: Do synchronizacji bibliotek muzycznych. Aplikację Zdjęcia: Do importowania multimediów z aparatów i telefonów. Aplikacje firm trzecich: Np. programy do zarządzania smartfonami lub specjalistyczne oprogramowanie medyczne przesyłające dane z glukometrów czy ciśnieniomierzy.

Przykładowe urządzenia przenośne WPD W kontekście technologii Windows Portable Devices (WPD), "przykładami" są konkretne grupy urządzeń, które system Windows rozpoznaje i obsługuje za pomocą tego stosu sterowników.

Zamiast litery dysku (jak w przypadku pendrive'a), urządzenia te pojawiają się w sekcji "Urządzenia przenośne" w Menedżerze urządzeń.

Oto główne przykłady urządzeń WPD:

Smartfony i Tablety To obecnie najliczniejsza grupa urządzeń WPD. Telefony z systemem Android: Po podłączeniu i wybraniu trybu "Przesyłanie plików" (MTP), telefon staje się urządzeniem WPD. Możesz przeglądać pamięć wewnętrzną i kartę SD jednocześnie, a telefon nadal ma do nich dostęp (możesz w tym czasie robić zdjęcia). iPhone (iOS): Gdy podłączasz iPhone'a, Windows widzi go jako urządzenie WPD (używając protokołu PTP), co pozwala na bezpośredni import zdjęć i filmów z folderu DCIM bez udziału iTunes. Aparaty i Kamery Cyfrowe WPD obsługuje protokół PTP (Picture Transfer Protocol). Lustrzanki (np. Canon, Nikon): Po podłączeniu kablem USB, Windows rozpoznaje model aparatu i pozwala na przeglądanie zdjęć bezpośrednio w pamięci urządzenia. Kamery sportowe (np. GoPro): Często działają w trybie MTP/WPD, co pozwala systemowi na wyświetlanie miniatury filmu bez konieczności pobierania ogromnego pliku na dysk. Odtwarzacze Multimedialne (MP3/MP4) WPD powstało głównie z myślą o tych urządzeniach w erze przed smartfonami. Odtwarzacze z certyfikatem "PlaysForSure": Takie jak stare modele Creative Zen, SanDisk Sansa czy Microsoft Zune. Służą one do synchronizacji biblioteki muzycznej z programem Windows Media Player. Inteligentne Akcesoria (Wearables) Zegarki sportowe i Smartwatche (np. starsze modele Garmin): Niektóre z nich po podłączeniu do komputera nie są widoczne jako dyski twarde, ale właśnie jako urządzenia przenośne (WPD), co chroni system plików zegarka przed przypadkowym sformatowaniem przez użytkownika. Urządzenia Specjalistyczne (Medyczne i Przemysłowe) Dzięki elastyczności WPD, producenci tworzą urządzenia, które nie są "pamięciami", ale przesyłają dane: Glukometry i Ciśnieniomierze: Pozwalają na import historii pomiarów do dedykowanych aplikacji medycznych w Windows. Czytniki kodów kreskowych: Niektóre zaawansowane skanery magazynowe przesyłają bazy danych towarów przez interfejs WPD.

Możesz sprawdzić, jakie urządzenia WPD masz teraz:

Kliknij prawym przyciskiem myszy na Start i wybierz Menedżer urządzeń. Znajdź na liście pozycję Urządzenia przenośne. Wszystko, co tam zobaczysz (Twój telefon, aparat itp.), to właśnie Windows Portable Devices

Przypisy

Bibliografia Microsoft Learn, About Windows Portable Devices, [online] dostęp: docs.microsoft.com. Mark Russinovich, David Solomon: Windows Internals, Part 2. Microsoft Press, 2012. ISBN 978-0735648739.