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

IWMPPlaylistCollection

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

公式ドキュメント

IWMPPlaylistCollection インターフェイスは、IWMPPlaylist および IWMPPlaylistArray インターフェイスを操作するためのメソッドを提供します。

メソッド 7

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

vtbl 7 HRESULT newPlaylist(LPWSTR bstrName, IWMPPlaylist** ppItem)

newPlaylist メソッドは、ライブラリ内に新しい空のプレイリストを作成します。

bstrNameLPWSTRin新しいプレイリストの名前を含む文字列。
ppItemIWMPPlaylist**out新しいプレイリストの IWMPPlaylist インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドは、ライブラリ内に空のプレイリストを作成します。プレイリストにメディア項目を追加するには、IWMPPlaylist::appendItem または IWMPPlaylist::insertItem を使用します。

ライブラリ内では、同じ名前を持つ複数のプレイリストが許可されます。このメソッドで重複したプレイリスト名を作成しないようにするには、getByName メソッドと IWMPPlaylistArray::count を使用して、特定の名前を持つプレイリストが既に存在するかどうかを判断します。

プレイリスト名では先頭および末尾のスペースは許可されておらず、bstrName パラメーターに指定された値からは自動的に削除されます。

このメソッドを呼び出す前に、ライブラリへのフルアクセス権が必要です。詳細については、Library Access を参照してください。

vtbl 8 HRESULT getAll(IWMPPlaylistArray** ppPlaylistArray)

getAll メソッドは、ライブラリ内のすべてのプレイリストを表す IWMPPlaylistArray インターフェイスへのポインターを取得します。

ppPlaylistArrayIWMPPlaylistArray**out取得したプレイリストの配列を表す IWMPPlaylistArray インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドを呼び出す前に、ライブラリへの読み取りアクセス権が必要です。詳細については、Library Access を参照してください。

vtbl 9 HRESULT getByName(LPWSTR bstrName, IWMPPlaylistArray** ppPlaylistArray)

getByName メソッドは、指定された名前を持つプレイリストが存在する場合、それらのプレイリストを含むオブジェクト上の IWMPPlaylistArray インターフェイスへのポインターを取得します。

bstrNameLPWSTRin名前を含む文字列。
ppPlaylistArrayIWMPPlaylistArray**out取得したプレイリストの配列を表す IWMPPlaylistArray インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

プレイリストが存在するかどうかを判断するには、IWMPPlaylistArray::count を使用します。count が 0 の場合、配列は空です。

このメソッドを呼び出す前に、ライブラリへの読み取りアクセス権が必要です。詳細については、Library Access を参照してください。

vtbl 10 HRESULT remove(IWMPPlaylist* pItem)

remove メソッドは、ライブラリからプレイリストを削除します。

pItemIWMPPlaylist*inこのメソッドが削除するプレイリストの IWMPPlaylist インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

このメソッドを呼び出す前に、ライブラリへのフルアクセス権が必要です。詳細については、Library Access を参照してください。

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)

isDeleted メソッドは、指定されたプレイリストが削除済み項目フォルダーに入っているかどうかを示す値を取得します。

pItemIWMPPlaylist*in照会対象のプレイリストの IWMPPlaylist インターフェイスへのポインター。
pvarfIsDeletedVARIANT_BOOL*inout指定されたプレイリストが削除されたかどうかを示す VARIANT_BOOL へのポインター。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

Windows Media Player 10 Mobile: このメソッドは常に FALSE に設定された VARIANT_BOOL を取得します。

vtbl 13 HRESULT importPlaylist(IWMPPlaylist* pItem, IWMPPlaylist** ppImportedItem)

importPlaylist メソッドは、静的プレイリストをライブラリに追加します。

pItemIWMPPlaylist*inこのメソッドが追加するプレイリストの IWMPPlaylist インターフェイスへのポインター。
ppImportedItemIWMPPlaylist**out追加されたプレイリストの IWMPPlaylist インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。使用可能な値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。

解説(Remarks)

メディア項目を含まないプレイリストは、このメソッドではライブラリに追加できません。ライブラリ内に空のプレイリストを作成するには、newPlaylist メソッドを使用します。その後、IWMPPlaylist::appendItem または IWMPPlaylist::insertItem を使用して、作成されたプレイリストにメディア項目を追加できます。

このメソッドに自動プレイリストを渡すと、クエリが一度実行され、その結果が静的プレイリストとしてライブラリに追加されます。自動プレイリストをライブラリに追加し、その自動的な動作を保持するには、IWMPMediaCollection::add を使用します。詳細については、Static and Auto Playlists を参照してください。

このメソッドを呼び出す前に、ライブラリへの読み取りアクセス権が必要です。詳細については、Library Access を参照してください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

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 不要)。