Application code submitted to a certificate authority to be signed with a privileged certificate shall comply with the following requirements:
A. Application code shall not:
B. Application code shall only:
1. access and use those APIs that are listed in the Software Development Kit (“SDK”) for the particular version of Microsoft Smartphone Software (e.g., 2002, 2003, etc.);
2. access and use DeviceIDs and other device information only through system APIs listed in the SDK for the particular version of the Smartphone Software;
3. access and use file systems through the file system APIs listed in the SDK for the particular version of such Microsoft Smartphone Software.
C. Notwithstanding the requirements set forth in A and B of these Microsoft Privileged Certificate Technology Requirements, device driver application code may:
1. Solely to the extent necessary for making the hardware peripheral device functional, modify the keys or name/value pairs in the registry locations the following registries:
a. HKLM\Drivers
b. HKLM\Hardware
c. HKLM\Init
2. Solely to the extent necessary for the development of the device driver:
a. access and use any of the Smartphone Software APIs
b. access the device hardware directly using means such as assembly code or direct memory manipulation