WindowsAPI関数AddPrinterDriverを使用してプリンタードライバーを追加しようとしています。Win32エラー1008(存在しないトークンを参照しようとしました。)は常に生成されました。私のコードは次のように表示されます
[DllImport("Winspool.drv")]
static extern bool AddPrinterDriver(string Name, Int32 Level, [in] ref DRIVER_INFO_3 DriverInfo);
[StructLayout(LayoutKind.Sequential)]
public struct DRIVER_INFO_3
{
public Int32 cVersion;
public string Name;
public string Environment;
public string DriverPath;
public string DataFile;
public string ConfigFile;
public string HelpFile;
public string DependentFiles;
public string MonitorName;
public string DefaultDataType;
}
//.......................
DRIVER_INFO_3 di = new DRIVER_INFO_3();
//......................
AddPrinterDriver(Environment.MachineName, 3, ref di);
また、プリンタードライバーを追加する前に、「ImpersonateSelf」でトークンを取得しようとしました。しかし、エラー1008は主張しています。