Rejestr urządzeń to programowalny obszar na urządzeniu elektronicznym, który zawiera informacje, których programista może użyć do zainstalowania i używania urządzenia z systemem operacyjnym lub dodatkowym elementem wyposażenia. Umożliwia to urządzeniom komunikowanie się ze sobą informacji w celu wykonania zadań przydzielonych przez użytkownika. Na przykład programista z tabletem może podłączyć go do swojego pulpitu i poprosić ich o zsynchronizowanie danych w celu zaktualizowania wszystkich plików na obu komputerach. Umożliwia to rejestr urządzeń.
Urządzenia zwykle mają kilka dedykowanych rejestrów do wykonywania różnych funkcji. Jeden ważny rejestr dotyczy danych. Jeśli użytkownik chce mieć możliwość odczytywania i zapisywania danych, musi wiedzieć, dokąd je skierować. Rejestr danych dostarcza informacji o tym, ile miejsca jest dostępne i co znajduje się na urządzeniu. Dzięki temu możliwe jest przenoszenie informacji na urządzeniu lub ich przesyłanie. Na przykład smartfon może dla wygody przekazywać wskazówki dojazdu na inne urządzenie.
Innym rodzajem rejestru urządzeń jest rejestr kontroli i stanu. Pozwala to programiście na wykonywanie poleceń, a także zapewnia informację zwrotną. W przykładzie użytkownika synchronizującego komputer typu tablet z komputerem stacjonarnym rejestr ten jest odpowiedzialny np. za miganie komunikatu, że synchronizacja jest w toku. Jeśli programista spróbuje uzyskać dostęp do urządzenia, zwróci błąd, ponieważ jest zajęte. Podobnie, jeśli jest problem z urządzeniem i nie może zakończyć transferu, rejestr statusu wskaże, że coś jest nie tak.
Każdy rejestr urządzenia zawiera informacje o adresie logicznym urządzenia, dzięki czemu system operacyjny lub inne urządzenie może je znaleźć. Programista może być w stanie ręcznie to zakodować lub system operacyjny może wykonać programowanie. Gdy fotograf podłącza aparat cyfrowy do komputera, aby na przykład pobrać zdjęcia z karty pamięci, komputer będzie wchodzić w interakcję z rejestrem urządzenia aparatu, aby uzyskać niezbędne informacje i skonfigurować transfer. Dzięki temu każdy może korzystać z urządzeń peryferyjnych bez konieczności posiadania umiejętności programowania.
Jeśli coś pójdzie nie tak z rejestrem urządzenia, może to spowodować błędy. Urządzenia mogą zwracać niedokładne informacje o swoich danych lub mogą trwale zawiesić się w trybie stanu „zajęty” lub „błąd”. Te problemy może naprawić programista, który ma dostęp do rejestru. Użytkownik może również potrzebować wymiany komponentów i przeprogramowania kasy.