4

私は、MSDN をナビゲートして COM クラスに必要な操作を実行させる「典型的な」方法を探しています。

問題の例: ローカル ファイルのブロックを解除する API の方法を探しています (プログラムでファイルからインターネット ゾーン/Web のマークを削除します)。

clsid_persistentzoneidentifier について話している stackoverflow.com の投稿を 1 つ見つけました。だから私はMSDNで検索し、http://msdn.microsoft.com/en-us/library/ms537029(VS.85).aspxにたどり着きました。私が探しているのは、この URL に到達した後に何をするかです。この場所からは、操作の順序がどうあるべきかわかりません。この IZoneIdentifier を IPersistFile に接続するにはどうすればよいですか? など。COM関連のドキュメントに関して欠けている基本的なものがあるに違いありません。MSDN にはインターフェイスとオブジェクトがありますが、ある種の「シーケンス」図を視覚化するのに役立つものはありません。どのCOMオブジェクトが同じクラスのものかを理解できるものは何もありません。したがって、QueryInterfaced にすることができます/または行う必要があり、CoCreate にする必要があります。

4

2 に答える 2

4

そのためのドキュメントは、いくつかのことを示しています。

1 つ目は、 を呼び出しCoCreateInstanceて を渡しCLSID_PersistentZoneIdentifier、これら 2 つのインターフェースの実装を取得できることです。

また、次のようにも述べています。

IPersistFileオブジェクトをターゲット ファイルに添付しIZoneIdentifier 、ゾーン ID を調べたり操作したりするために使用します。

そうは言っても、ここのドキュメントを見ることができますIPersistFile

http://msdn.microsoft.com/en-us/library/ms687223(VS.85).aspx

これは、ファイルに関する詳細を含む実装をロードするためにファイル名で呼び出すLoadメソッドです。

そこから、インターフェイスの実装を呼び出しQueryInterfaceIUnknownインターフェイスを取得し、そのメソッドIZoneIdentifierを呼び出してゾーンをローカル マシンに設定できます。Remove

于 2009-02-18T17:10:27.520 に答える
1

その目的のために、ドキュメントから明らかでない場合は、関連する API が使用されているサンプル プログラムを見つけるのが好きです: Google を使用するか、関連する Microsoft SDK のいずれかから。

これなどのMicrosoft SDK には、サンプル プログラムが含まれています。

于 2009-02-18T17:07:13.080 に答える