簡體   English   中英

調用過程以無效的憑據開始

[英]Calling Process.Start with invalid credentials

如果我使用無效的憑據(即密碼)致電Process.Start會怎樣? 我遇到了Win32Exception異常,但對我來說似乎不對。 但是,文檔表明它並非旨在報告證書錯誤。 這是一項安全功能嗎?

不, Win32Exception是正確的。 如果您對MSDN文檔了解更多:

打開關聯文件時發生錯誤。

-要么-

參數的長度和關聯文件的完整路徑的長度的總和超過2080。與此異常關聯的錯誤消息可能是以下之一:“傳遞給系統調用的數據區域太小。” 或“訪問被拒絕”。

強調我的。

我會說,這還不是很清楚。 用反射器查看代碼似乎與文檔一致。

編輯

一些管道的細節。

由於多種原因, Process.Start都將引發Win32Exception 如果在啟動過程中出現任何問題,則幾乎可以解決。 在內部,.NET稱為CreateProcessWithLogonW ,如果失敗,它將拋出Win32Exception並將其上的NativeErrorCode屬性設置為返回的GetLastWin32Error 您可以通過查看該代碼確定為什么拋出該錯誤。 有什么每個代碼意味着查找這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM