@@ -91,12 +91,7 @@ NTSTATUS KphConnect2(
91
91
_In_ PWSTR FileName
92
92
)
93
93
{
94
- KPH_PARAMETERS parameters ;
95
-
96
- parameters .SecurityLevel = KphSecuritySignatureCheck ;
97
- parameters .CreateDynamicConfiguration = TRUE;
98
-
99
- return KphConnect2Ex (DeviceName , FileName , & parameters );
94
+ return KphConnect2Ex (DeviceName , FileName , NULL );
100
95
}
101
96
102
97
NTSTATUS KphConnect2Ex (
@@ -122,12 +117,12 @@ NTSTATUS KphConnect2Ex(
122
117
123
118
status = KphConnect (fullDeviceName );
124
119
125
- if (NT_SUCCESS ( status ) || status == STATUS_ADDRESS_ALREADY_EXISTS )
120
+ if (status == STATUS_ADDRESS_ALREADY_EXISTS )
126
121
return status ;
127
122
128
123
// Load the driver, and try again.
129
124
130
- KphInstallEx (DeviceName , FileName , Parameters );
125
+ KphInstall (DeviceName , FileName );
131
126
132
127
// Try to open the device again.
133
128
@@ -286,7 +281,7 @@ NTSTATUS KphInstallEx(
286
281
return STATUS_OBJECT_NAME_NOT_FOUND ;
287
282
}
288
283
289
- if (NT_SUCCESS (status = NtOpenProcessToken (
284
+ if (NT_SUCCESS (NtOpenProcessToken (
290
285
NtCurrentProcess (),
291
286
TOKEN_ADJUST_PRIVILEGES ,
292
287
& tokenHandle
@@ -296,9 +291,6 @@ NTSTATUS KphInstallEx(
296
291
NtClose (tokenHandle );
297
292
}
298
293
299
- if (!NT_SUCCESS (status ))
300
- goto CleanupExit ;
301
-
302
294
keyName = PhConcatStrings (
303
295
2 ,
304
296
L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\" ,
@@ -347,7 +339,7 @@ NTSTATUS KphInstallEx(
347
339
if (!NT_SUCCESS (status = NtSetValueKey (keyHandle , & valueName , 0 , REG_DWORD , & parameters , sizeof (ULONG ))))
348
340
goto CleanupExit ;
349
341
350
- parameters = SERVICE_AUTO_START ;
342
+ parameters = SERVICE_DEMAND_START ;
351
343
RtlInitUnicodeString (& valueName , L"Start" );
352
344
if (!NT_SUCCESS (status = NtSetValueKey (keyHandle , & valueName , 0 , REG_DWORD , & parameters , sizeof (ULONG ))))
353
345
goto CleanupExit ;
0 commit comments