From: Harini Ramakrishnan <haramakr@microsoft.com>
---
kernel/windows/netuio/netuio.inf | 7 +++++++
kernel/windows/netuio/netuio_dev.c | 15 +++++----------
2 files changed, 12 insertions(+), 10 deletions(-)
@@ -62,6 +62,13 @@ CopyFiles=Drivers_Dir
[Drivers_Dir]
netuio.sys
+[netuio_Device.NT.HW]
+AddReg=Device.HW.Registry
+
+[Device.HW.Registry]
+; Ensure that only administrators can access our device object.
+HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GA;;;BA)"
+
;-------------- Service installation
[netuio_Device.NT.Services]
AddService = netuio,%SPSVCINST_ASSOCSERVICE%, netuio_Service_Inst
@@ -33,18 +33,13 @@ netuio_create_device(_Inout_ PWDFDEVICE_INIT DeviceInit)
PAGED_CODE();
- // Ensure that only administrators can access our device object.
- status = WdfDeviceInitAssignSDDLString(DeviceInit, &SDDL_DEVOBJ_SYS_ALL_ADM_ALL);
+ WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&deviceAttributes, NETUIO_CONTEXT_DATA);
- if (NT_SUCCESS(status)) {
- WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&deviceAttributes, NETUIO_CONTEXT_DATA);
-
- // Set the device context cleanup callback.
- // This function will be called when the WDF Device Object associated to the current device is destroyed
- deviceAttributes.EvtCleanupCallback = netuio_evt_device_context_cleanup;
+ // Set the device context cleanup callback.
+ // This function will be called when the WDF Device Object associated to the current device is destroyed
+ deviceAttributes.EvtCleanupCallback = netuio_evt_device_context_cleanup;
- status = WdfDeviceCreate(&DeviceInit, &deviceAttributes, &device);
- }
+ status = WdfDeviceCreate(&DeviceInit, &deviceAttributes, &device);
if (NT_SUCCESS(status)) {
// Create a device interface so that applications can find and talk to us.