VB.Net winformsアプリケーションがネットワーク経由でWMVファイルを再生する必要がある場合があります。アプリを実行しているユーザーにネットワーク共有に直接アクセスすることはできません。偽装によって、ファイルが存在することがわかります(偽装されていない場合、File.Existsはネットワーク共有上のファイルに対してfalseを返します)。 Windows Media Playerコントロールにファイルを読み込もうとすると、コントロールは黒いままです。 Windows Media Playerコントロールをメモリにロードすると、.Net管理スレッドとは別のアンマネージスレッドで実行されていると推測しました。そのセキュリティトークンをマネージスレッドからアンマネージドスレッドに渡す方法はありますか?完全に何かを逃していますか?マネージスレッド上の偽装トークンをアンマネージスレッドに渡す
2
A
答えて
0
私はあなたがネットワーク共有にログインするために
[DllImport("advapi32.dll", SetLastError=true)]
public static extern int LogonUser(string pszUsername, string pszDomain, string pszPassword, int dwLogonType, int dwLogonProvider, ref IntPtr phToken);
を使用してみましたとします。
私の経験上、スレッドについては気にしません。
私はあなたがそれがまったく役に立つと思う場合は、使用例を表示できます。ここでそれを言及するのに長い時間を費やしています。
0
WMPがプロセストークンから継承する独自のスレッドを開始する可能性は非常に高いですが、これは:: CreateThread()のデフォルトの動作です。私は、スレッドトークンを外部から変更することは不可能であると確信しています。また、コントロールがトークンをパラメータとして受け入れない限り、多くのことはできません。
私は、別のプロセスに入れておき、あなたが持っているトークンを使って:: CreateProcessAsUser()を使ってそのプロセスを作成したり、ローカルのどこかにファイルをバッファリングしたりして、
1
SetThreadPrincipal
メソッドをオフにしてみましたか?AppDomain
?
例:
IPrinicipal userPrincipal = new MyCustomPrincipal();
AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.SetThreadPrincipal(userPrincipal);
あなたはWMVアンマネージ実行するように思われること、あなたの質問に言及したので、その前提が正しければ、これは本当にいけません仕事(私の2番目の答えを見てください)。
0
WMVプレーヤーがAppDomainの外で動作すると仮定して、WPF/Silverlightメディアプレーヤーをホストしてネットワーク経由でファイルにアクセスしようとします。
関連する問題
- 1. 偽装トークンからのネットワークログオン
- 2. プライマリトークンと偽装トークンの相違点
- 3. C#ActiveDirectoryと偽装のリモートサーバー上のファイルシステム
- 4. Json Webトークンを偽装したり偽装することはできますか?
- 5. 偽装されたスレッドからoutproc COMオブジェクトにユーザーコンテキストを渡す
- 6. クラスベースの偽装
- 7. ハイブユーザーセンテリーの偽装
- 8. 偽造防止トークンのエラー
- 9. SQL - 偽装SYSTEM_USER
- 10. ハイブユーザー偽装
- 11. VB.NET Shell()偽装
- 12. Powershell偽装
- 13. WCFサービスデュアル偽装?
- 14. Visual C++の偽装
- 15. Identityserver3 - ユーザーの偽装
- 16. ASP.NET 2.0の偽装
- 17. ios:プライベートプロパティの偽装
- 18. 単体テスト環境内の静的関数の偽装/偽装
- 19. rails auto_complete plugin。真偽トークンはどうやって渡すのですか?
- 20. LockitoはiOS上で位置を偽装/偽造するのに似ています
- 21. アセンブリを偽装する
- 22. オブジェクトを偽装する
- 23. 偽装を確認する
- 24. C#ユニットテストで偽装と偽装を併用するのはいつですか?
- 25. .net v4による偽装
- 26. ASP.NET IDをWindows IDに偽装する
- 27. csrfトークンをストライプに渡す
- 28. 償還Windows偽装
- 29. Windows偽装Java * nix
- 30. C#Webサービス偽装