IWMMetadataEditor2
COM公式ドキュメント
IWMMetadataEditor2 インターフェイスは、メタデータ操作のためにファイルを開く改良されたメソッドを提供します。このインターフェイスは、メタデータエディターオブジェクトの一部として実装されています。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
OpenEx メソッドは、メタデータエディターオブジェクトが使用するファイルを開きます。OpenEx は ASF ファイルと MP3 ファイルを開きますが、MP3 ファイルを扱う場合、メタデータエディターの機能は限定されます。
| pwszFilename | LPWSTR | in | ファイル名を格納するワイド文字の null 終端文字列へのポインター。 | ||||||
| dwDesiredAccess | DWORD | in | 目的のアクセスの種類を格納する DWORD。GENERIC_READ または GENERIC_WRITE を設定できます。読み取り/書き込みアクセスの場合は、両方の値をビットごとの OR で組み合わせて渡します。GENERIC_READ を使用する場合は、有効な共有モードを dwShareMode として渡す必要があります。渡さないとエラーになります。 | ||||||
| dwShareMode | DWORD | in | 共有モードを格納する DWORD。次の表のいずれかの値、または 2 つの値をビットごとの OR で組み合わせて指定できます。値が 0 の場合は共有しないことを示します。読み取り/書き込みアクセスを要求する場合、共有はサポートされません。読み取り/書き込みアクセスを要求し、共有モードに 0 以外の値を渡した場合はエラーが返されます。
|
戻り値
このメソッドは HRESULT を返します。指定できる値には次の表の値が含まれますが、これらに限定されません。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
|
ファイル共有を使用して読み取り/書き込みアクセスが要求されました。
または 読み取りおよび削除のファイル共有を指定せずに読み取りアクセスが要求されました。 または 要求されたアクセスモードは、このメソッドでは使用できません。 |
解説(Remarks)
パラメーター dwDesiredAccess および dwShareMode は、Platform SDK で定義されている OpenFile 関数で使用されるものと同一です。ただし OpenEx の場合、dwDesiredAccess に有効な値は限定された組み合わせのみです。指定された値以外を使用するとエラーになります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWMMetadataEditor2 "{203CFFE3-2E18-4FDF-B59D-6E71530534CF}"
#usecom global IWMMetadataEditor2 IID_IWMMetadataEditor2 "{}"
#comfunc global IWMMetadataEditor2_OpenEx 6 wstr,int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。