Win32 API 日本語リファレンス
ホームMedia.MediaPlayer › IWMPPlaylistCollection

IWMPPlaylistCollection

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID10a13217-23a7-439b-b1c0-d847c79b7774継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 7

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT newPlaylist(LPWSTR bstrName, IWMPPlaylist** ppItem)
bstrNameLPWSTRin新規作成するプレイリストの名前を指定する。
ppItemIWMPPlaylist**out作成された空のプレイリスト IWMPPlaylist を受け取る。解放が必要。
vtbl 8 HRESULT getAll(IWMPPlaylistArray** ppPlaylistArray)
ppPlaylistArrayIWMPPlaylistArray**out全プレイリストを含む IWMPPlaylistArray を受け取る。解放が必要。
vtbl 9 HRESULT getByName(LPWSTR bstrName, IWMPPlaylistArray** ppPlaylistArray)
bstrNameLPWSTRin検索対象のプレイリスト名を指定する。
ppPlaylistArrayIWMPPlaylistArray**out名前が一致するプレイリストの配列を受け取る。解放が必要。
vtbl 10 HRESULT remove(IWMPPlaylist* pItem)
pItemIWMPPlaylist*inコレクションから削除するプレイリスト IWMPPlaylist。
vtbl 11 HRESULT setDeleted(IWMPPlaylist* pItem, VARIANT_BOOL varfIsDeleted)
pItemIWMPPlaylist*in削除済みフラグを変更するプレイリスト IWMPPlaylist。
varfIsDeletedVARIANT_BOOLin削除済み状態にするかを指定する。VARIANT_TRUE で削除済み。
vtbl 12 HRESULT isDeleted(IWMPPlaylist* pItem, VARIANT_BOOL* pvarfIsDeleted)
pItemIWMPPlaylist*in状態を確認するプレイリスト IWMPPlaylist。
pvarfIsDeletedVARIANT_BOOL*inoutプレイリストが削除済みかを受け取る。VARIANT_TRUE で削除済み。
vtbl 13 HRESULT importPlaylist(IWMPPlaylist* pItem, IWMPPlaylist** ppImportedItem)
pItemIWMPPlaylist*inライブラリに取り込む元のプレイリスト IWMPPlaylist。
ppImportedItemIWMPPlaylist**out取り込み後の新しいプレイリスト IWMPPlaylist を受け取る。解放が必要。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWMPPlaylistCollection "{10A13217-23A7-439B-B1C0-D847C79B7774}"
#usecom global IWMPPlaylistCollection IID_IWMPPlaylistCollection "{}"
#comfunc global IWMPPlaylistCollection_newPlaylist     7 wstr,sptr
#comfunc global IWMPPlaylistCollection_getAll          8 sptr
#comfunc global IWMPPlaylistCollection_getByName       9 wstr,sptr
#comfunc global IWMPPlaylistCollection_remove          10 sptr
#comfunc global IWMPPlaylistCollection_setDeleted      11 sptr,int
#comfunc global IWMPPlaylistCollection_isDeleted       12 sptr,var
#comfunc global IWMPPlaylistCollection_importPlaylist  13 sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。