VB6 で書かれたモデム端末アプリケーションがあります。これは必要なことにはうまく機能しますが、特定のプロバイダーにダイヤルするときに VPN 接続を開始するという新しい要件があります。関連する投稿をいくつか見てきましたが、これは RAS API を使用して可能であると思われます。MSDN 以外でこの API を使用するためのリソースやアドバイスを提案できる人はいますか?
難点 - .NET はオプションではありません。
VB6 で書かれたモデム端末アプリケーションがあります。これは必要なことにはうまく機能しますが、特定のプロバイダーにダイヤルするときに VPN 接続を開始するという新しい要件があります。関連する投稿をいくつか見てきましたが、これは RAS API を使用して可能であると思われます。MSDN 以外でこの API を使用するためのリソースやアドバイスを提案できる人はいますか?
難点 - .NET はオプションではありません。
.NETの例しか見つからない場合は、.NET Reflectorを使用して、.NET Frameworkが呼び出しているAPIと、渡されているパラメーターを確認します。これは、VB6でGDI+を使用しようとしたときに行いました。アルゴリズムは.NETでうまく機能しましたが、VB6で直接APIを使用するとうまくいきませんでした。リフレクターを使用して、私が台無しにしていたパラメーターを見つけ、それが機能し始めました。
これは必要なほど堅牢ではないかもしれませんが、VPN接続をセットアップする必要がある単純な状況については、過去にsystemrasdialコマンドを呼び出しました。
USAGE:
rasdial entryname [username [password|*]] [/DOMAIN:domain]
[/PHONE:phonenumber] [/CALLBACK:callbacknumber]
[/PHONEBOOK:phonebookfile] [/PREFIXSUFFIX]
rasdial [entryname] /DISCONNECT
rasdial
工業的な強みではありませんが、スクリプトなどで使用するのに適しています。
.Net は完全にオプションではありませんか、それとも、持っているすべてのものを .Net に切り替えるオプションではありませんか? .Net クラス ライブラリを作成して COM+ を有効にし、そのライブラリを既存の VB6 アプリケーションで使用できます。
これもオプションではない場合はお詫び申し上げます。
相互運用性を処理し、C#からVB6への変換を理解できれば、オープンソースプロジェクトでほとんどすべてのRASAPIを完了できます。必要な部分を取り出して、プロジェクトに入れることができます。プロジェクトのソースコードタブをチェックしてください。すべてそこにあります。
興味のあるコンポーネントはRasDialerですが、コンポーネントは内部ではかなり複雑であることに注意してください。