+ LPCSTR lpszDriver,
+ LPCSTR lpszDevice,
+ LPCSTR lpszOutput,
+ CONST DEVMODEA * lpdvmInit
+ )
+{
+ NTSTATUS Status;
+ UNICODE_STRING Driver, Device, Output;
+ DEVMODEW dvmInitW;
+ HDC rc;
+
+ Status = RtlCreateUnicodeStringFromAsciiz ( &Driver,
+ (PCSZ)lpszDriver );
+ if (!NT_SUCCESS (Status))
+ {
+ SetLastError (RtlNtStatusToDosError(Status));
+ return 0;
+ }
+
+ Status = RtlCreateUnicodeStringFromAsciiz ( &Device,
+ (PCSZ)lpszDevice );
+ if (!NT_SUCCESS (Status))
+ {
+ SetLastError (RtlNtStatusToDosError(Status));
+ return 0;
+ }
+
+ Status = RtlCreateUnicodeStringFromAsciiz ( &Output,
+ (PCSZ)lpszOutput );
+ if (!NT_SUCCESS (Status))
+ {
+ SetLastError (RtlNtStatusToDosError(Status));
+ return 0;
+ }
+
+ if ( lpdvmInit )
+ RosRtlDevModeA2W ( &dvmInitW, lpdvmInit );
+
+ return 0;