Drivers Hand Held Products Port Devices


The StorPortAcquireSpinLock routine acquires the specified spin lock.

Drivers Hand Held Products Port Devices

The sample uses the User-Mode Driver Framework (UMDF) 2.0 and demonstrates basic functionality such as claiming the device for exclusive access. The sample driver can be compiled and deployed on x86, amd64, and ARM platforms. For more information on universal drivers, go to Getting Started with Universal Windows drivers. The USB device can be removed from the PC USB Port while the application opens the Serial Port with which the USB; device is connected. (It will be kept opening when the USB device is plugged into the USB Port again.) The Virtual Serial Port is always existed on PC even if USB device is removed from the PC USB Port, so that the Serial Port; can.




[in]A pointer to the miniport driver per-adapter device extension.


[in]Contains an enumerator value of type STOR_SPINLOCK that specifies the spin lock to acquire.


[in]A pointer to the DPC object for which the lock is held if SpinLock indicates a type of DpcLock. This member should be NULL if SpinLock indicates a type of either InterruptLock or StartIoLock.


[in, out]A pointer to a buffer that, on return, will contain a lock handle. To release the lock, the caller must pass this handle to the StorPortReleaseSpinLock routine.

Return value



Miniport drivers must ensure that they do not attempt to acquire a lock that is already held or acquire locks in an incorrect order. Either of these mistakes will result in system deadlock.

Certain locks are held automatically by the port driver before it calls the miniport driver callback routines. For each miniport driver callback routine, the following table indicates which locks the port driver acquires automatically before calling the callback routine.

Miniport driver routineSpin lock held by port driver
HwStorInitializeInterrupt (physical miniports), None (virtual miniports)
HwStorStartIoStartIo (physical miniports only when requested concurrent channels <= 1)
HwStorTimerStartio, Interrupt (when SynchronizationModel member of PORT_CONFIGURATION_INFORMATION is set to StorSynchronizeHalfDuplex)
HwStorResetBusStartio, Interrupt (when SynchronizationModel member of PORT_CONFIGURATION_INFORMATION is set to StorSynchronizeHalfDuplex)
HwStorAdapterControlNone. (In Windows Server 2003, the StartIo spin lock was held when control type is ScsiStopAdapter.)
HwStorStateChangeStartio, Interrupt (when SynchronizationModel member of PORT_CONFIGURATION_INFORMATION is set to StorSynchronizeHalfDuplex)

Hand Held Products Company

The locks held by the port driver influence which locks the callback routines are allowed to acquire, because spin locks must be acquired in the following order:

  • DPC or StartIo
  • Interrupt

For instance, if the port driver acquires the Interrupt spin lock before calling a callback routine, that callback routine can no longer acquire the DPC or StartIo spin lock because the DPC and StartIo spin locks are of a lower order than the Interrupt spin lock. On the other hand, if the port driver acquires the StartIo spin lock before calling a callback routine, that callback routine, when executed, could still acquire an Interrupt or a DPC spin lock.

The following table indicates which spin locks each miniport driver routine can acquire. In those cases where the miniport driver routine must obtain both the StartIo spin lock and the Interrupt spin lock, the routine must always acquire the StartIo spin lock first.

Miniport driver routineAllowed spin locks
HwStorStartIoDPC, Interrupt. Note that StartIo can be acquired in a virtual miniport driver or from a physical miniport driver that uses multiple concurrent channels.
HwStorBuildIoDPC, StartIo, Interrupt
HwStorTimerInterrupt (when SynchronizationModel member of PORT_CONFIGURATION_INFORMATION is not set to StorSynchronizeHalfDuplex)
HwStorResetBusInterrupt (when SynchronizationModel member of PORT_CONFIGURATION_INFORMATION is not set to StorSynchronizeHalfDuplex)
HwStorAdapterControlDPC, StartIo, Interrupt. (In Windows Server 2003, the no spin lock is allowed when control type is ScsiStopAdapter.)
HwStorUnitControlDPC, StartIo, Interrupt
HwStorTracingEnabledDPC, StartIo, Interrupt
HwStorDpcRoutineDPC, StartIo, Interrupt
HwStorStateChangeInterrupt (when SynchronizationModel member of PORT_CONFIGURATION_INFORMATION is not set to StorSynchronizeHalfDuplex)

Drivers Hand Held Products Port Devices Used


Target PlatformUniversal
Headerstorport.h (include Storport.h)
DDI compliance rulesStorPortSpinLock, StorPortSpinLock3, StorPortSpinLock4

See also

ManufacturerGamePad Digital (GPD)
TypeHandheld game console / Ultra-mobile PC / Palmtop
Release dateOctober 2016; 4 years ago
Operating systemWindows 10 Home
CPUFirst model: Intel Atom x7-Z8700Second model:Intel Atom x7-Z8750
Storage64 GB eMMC 4.51, one microSD slot
Display5.5' 1280x720 px, 720p 16:9-ratio Capacitive display, multi-touch support with Gorilla Glass 3
GraphicsIntel HD 405 Graphics
Controller inputD-pad,
four front-facing action buttons,
four side buttons,
two analog sticks
ConnectivityWi-Fi 802.11a/b/g/n/ac (2.4 & 5GHz), Bluetooth, USB 3.0 Type A, USB-C, MiniHDMI, headset port.
Power6,900 mAh battery
Dimensions155 x 97 x 22 mm
SuccessorGPD Win 2
Related articlesGPD Pocket (English) (Chinese)

GPD Win is a Windows-based handheldcomputer equipped with a keyboard and gaming controls.[1] It is an x86-based device which runs a full version of Windows 10 Home. The device was envisioned primarily with video game console emulation and PC gaming in mind, but is capable of running any x86 Windows-based application that can run within the confines of the computer's technical specifications.[2] First announced in October 2015, it was crowdfunded via Indiegogo and two other crowdfunding sites in Japan and China,[specify] and was released in October 2016.[3]


GamePad Digital (GPD) is a technology company based in Shenzhen, China. Among other products, they have created several handheld video game consoles which run Android on ARM architecture. For instance, GPD XD. GPD Win was meant to be a way to play PC games, PC-based video game console emulators, and hypervisors (such as VMware and VirtualBox clients) on a handheld device. The appeal of the Win was intended to be, that an x86 Windows handheld PC console offers far more PC and emulator gaming support than other architectures and operating systems that are widely used on mobile devices (such as Linux or Android on ARM hardware, or proprietary systems). GPD widely touts this ability on the device's Indiegogo page, with video demonstrations.

GamePad Digital first pitched the idea of GPD Win to the community in October 2015 as concept for market research, with further planning in November. By December, the physical design and hardware specifications were determined. By March 2016, initial prototypes were finished, debugged, and shipped to select sources. GPD started accepting pre-orders in June 2016 through several online retailers, including the Indiegogo page. Pre-order backers are offered the device for a discounted price of $330, with an estimated final retail price of $499, but settling on a price of $330 after release.[4] The initial stated goal was $100,000. By August 2016, a small batch shipment to industry personnel were shipped, and by September, the pre-order promotional pricing ceased. GPD started shipping the final product by October 2016, with pre-order backers receiving their devices first.


GPD Win runs Windows 10 Home. GPD stated that per an April 2014 Microsoft decision, Windows is free on all devices with screens smaller than 9 inches. However, devices shipped to backers have a Windows 10 product key to input on initial boot and setup of the device.[5] Unlike most Windows smartphones, GPD Win is able to run any x86 Windows application that can also be run on PC laptops and desktops.As of April 2017, several patches are available for the Linux kernel that allow a mostly complete functionality of the Win with a full desktop GNU/Linux like Ubuntu.[6] There are also ways to get Android to work on GPD Win. There's a guide of how to install it and make it dual-boot on

Hand Held Products Scanner Driver

Technical and physical specifications[edit]

GPD Win has a full QWERTY keyboard, which includes 67 standard keys and 10 expanded function keys. For gaming, the controller is stylized similar to the OpenPandora and DragonBox Pyra style keyboard and controller layout: one D-pad, two analog sticks, four face buttons, and four shoulder buttons (two on each shoulder).

GPD Win was initially intended to use the Intel Atom x5-Z8500 Cherry Trail CPU.[7]

The graphics processor is an Intel HD Graphics integrated GPU with a base clock speed of 200 MHz and a turbo boost of up to 600 MHz.

GPD Win uses 4GB LPDDR3-1600 RAM, with 64GB ROM eMMC 4.51. It has a single microSD slot that can officially support a maximum of 128GB of storage. However, it can unofficially support a microSD card of 256GB.

GPD Win is 15.5×9.7cm in size. It has a 5.5-inch 1280×720 (720p) H-IPS multi-directional touch screen in 16:9 ratio. It is reinforced by Gorilla Glass 3.

The audio system consists of a built-in speaker using the Realtek ALC5645 driver, and a microphone jack. It supports most popular audio, video, and image formats, including MP3, MP4, 3GP, WMV/WMA FLAC, AVI, MOV, JPG, PNG, and BMP.

GPD Win has a 6700mAh polymer lithium-ion battery with USB C charging interface (5 V/2.5 A). It has a stated ability to play 80 continuous hours of music or 6–8 hours of online video or online gaming. It is Bluetooth 4.0 and 802.11 b/g/n/ac (5 GHz and 2.4 GHz) Wifi capable.[8]

GamePad Digital has continued to support GPD Win past release, taking user feedback into account, with driver and hardware updates. As of January 10, 2017, GPD revised the Win's hardware, providing a fix for Intel graphics driver stability issues, fixing the AC charging/boot-up bug (described in the reviews section), improved cooling, as well as improving the tactile feedback of the D-Pad, buttons, and keyboard. This includes a software update that improves the buttons' responsiveness, and makes changes to the functionality of the built-in pointer.[9]

Dimensions15.5 cm x 9.7 cm x 2.2 cm

368g (0.81lb)

CPU64-bit x86 Intel Atom x7 Z8750 (1.60 GHz/2.56 GHz max)
GraphicsIntel HD 405 Graphics (200 MHz/600 MHz max)
Storage64GB eMMC storage
MicroSD removable storage (128GB max, up to 400GB max unofficial support)
Screen5.5-inch, 720p, H-IPS multi-directional touch screen, 16:9 ratio
AudioSpeaker, headphone jack, Realtek ALC5645 audio driver
Keyboard67-button, Four-row QWERTY keyboard
Game controlsD-pad, 4 face buttons, 4 shoulder buttons, 2 analog sticks
SlotsSingle microSD slot
PortsMicro-USB3.0 Type C
USB 3.0 Type A
C type Mini HDMI
BatteryNon-user-replaceable battery with 6700 mAh capacity
ConnectivityWi-Fi 802.11a/b/g/n/ac (2.4 & 5 GHz), Bluetooth 4.0
SoftwareWindows 10 Home
GNU/Linux (Unofficial support)

Release and reception[edit]

GamePad Digital began shipping the GPD Win to backers in October 2016. JC Torres of Slashgear gave the Win a 7/10. Stating that it has solid technical specs per expected needs, it's ambitious for being a Windows 10-based handheld console in an industry dominated by Linux-based handhelds, and is well rounded with features. However, he also noted an inconsistent build quality among models, and mediocre sound quality ('loud, but low'). Ultimately, he called it an 'exceptional device'.[10]

Linus Sebastian made a video review of the GPD Win on his YouTube channel LinusTechTips. He complimented its gaming and multitasking capabilities, and was impressed with the hardware specs and hardware design and features overall (to include more I/O ports and features than for instance, a common MacBook). He did lament that the system had some flaws. Among them: The shoulder buttons felt cheaply assembled; the 5.5' 720P screen was not friendly for scaling, and that the device has a bug where it must not be plugged into the AC adapter when pressing the power button in order to boot up (otherwise, it simply loads to the charging screen. It must be plugged back in only after system boot up starts. This issue has since been fixed in subsequent releases). His official verdict was that deciding whether it was worth the price was up to the user, and that the Win made him excited about the prospect of what UMPCs will be capable of in the near future as the hardware progresses further. He compared it to Apple's first iPhone (while stating that it was not as revolutionary), in that it's a great concept that has some flaws with its execution, but is ambitious, practical, and is set to be much better in the future.[11]

GPD Win 2[edit]

GamePad Digital announced the GPD Win 2 In early 2017. The Win 2 is a significant upgrade which is able to run AAA spec games, as well as better video game console emulation. It has an Intel Core m3 CPU, Intel HD 615 graphics, 8GB LPDDR3 RAM, a 128GB M.2 solid-state drive, as well as the same I/O ports as the GPD Win. There are a few external hardware changes, including moving the analog knobs outward, D-input will be dropped, and an additional shoulder button on each shoulder, for six total. The price for crowdfunding backers is $649, with a tentative retail price of $899. The Indiegogo campaign launched on January 15, 2018, with a final release date of May 2018. The Indiegogo campaign saw rapid success, far surpassing its stated goal within days.[12][13][14]

See also[edit]

External links[edit]


  1. ^'5.5-inch Windows Laptop Offers PC Gaming on the Go'. LaptopMag.
  2. ^'GPD Win Intel Z8550 is a Windows 10 game console that fits in a pocket - SlashGear'.
  3. ^'GPD WIN Intel Z8700 Win 10 OS Game Console'. Indiegogo.
  4. ^'$299 handheld Windows 10 gaming console fits right in your pocket -'. 8 March 2016.
  5. ^Lowensohn, Josh (2 April 2014). 'Microsoft making Windows free on devices with screens under 9 inches'. The Verge.
  6. ^de Goede, Hans (1 April 2014). 'Getting Linux to run properly on the GPDwin'. LiveJournal.
  7. ^'GPD Win is a pocket-sized Windows 10 laptop'. 8 March 2016.
  8. ^'GPD Win Specs, Features, Design Pros & Cons- GPD Win Review'. 9 March 2016.
  9. ^'Major improvements of GPD WIN after January 10 2017'. The Dingoo Community. Retrieved 26 January 2017.
  10. ^'GPD WIN Review: Mobile Windows 10 for gaming'. SlashGear. 18 November 2016.
  11. ^LinusTechTips (28 November 2016). 'Pocket-sized Windows Gaming PC' – via YouTube.
  12. ^'GPD WIN 2: Handheld Game Console for AAA Games'. Indiegogo. Retrieved 21 January 2018.
  13. ^'GPD WIN 2 game performance looks promising, price isn't'. Slashdot. 21 December 2017.
  14. ^'GPD Win 2 Handheld Launches April 2018, Runs GTA V'. PC Mag. 19 December 2017.
Retrieved from ''