8 main(int argc
, char *argv
[])
11 UNICODE_STRING ServiceName
;
15 printf("Usage: load <ServiceName>\n");
18 ServiceName
.Length
= (strlen(argv
[1]) + 52) * sizeof(WCHAR
);
19 ServiceName
.Buffer
= (LPWSTR
)malloc(ServiceName
.Length
+ sizeof(UNICODE_NULL
));
20 wsprintf(ServiceName
.Buffer
,
21 L
"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\%S",
23 wprintf(L
"%s %d %d\n", ServiceName
.Buffer
, ServiceName
.Length
, wcslen(ServiceName
.Buffer
));
24 Status
= NtLoadDriver(&ServiceName
);
25 free(ServiceName
.Buffer
);
26 if (!NT_SUCCESS(Status
))
28 printf("Failed: %X\n", Status
);