我在我的應用程序中執行LDAP查詢的表單。但是,由於每個結果項目都需要一些處理,我決定在一個單獨的線程中處理每個項目。唉,我很快意識到處理(調用COM對象中的某些方法)拒絕工作 - 因爲(或者「可能」是更好的詞),線程不會在同一用戶帳戶下產生。 COM部分工作正常,但如果作爲程序的一部分執行,將返回正確信息的代碼在線程中執行時不會返回正確的信息。當我搜索這個時,我發現指向安全描述符和令牌的信息。我必須承認我的經驗很少。執行與主程序相同權限的線程?
任何人都可以請教我如何讓TThread類作爲啓動並運行我的主程序的用戶執行嗎?
我們使用Delphi XE3。該程序通過Citrix/AD在Windows 7上執行。
非常感謝你的幫助
更新:**這竟然是一個COM問題,而不是一個線程問題。 COM的用戶名參數預計爲UTF8。該線程現在工作正常。
感謝大家分享他們的知識!
您如何診斷? –
由於生成的AD對象僅顯示訪客帳戶可見的信息。當我點擊一個對客人不可見的用戶時 - 數據是空白的。 –
你想要訪問什麼樣的信息? – EProgrammerNotFound