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

IWMPPlaylist

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDd5f0f4f1-130c-11d3-b14e-00c04f79faa6継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

IWMPPlaylist インターフェイスは、メディア項目のリストを操作するためのメソッドを提供します。

メソッド 14

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

vtbl 7 HRESULT get_count(INT* plCount)

get_count メソッドは、プレイリスト内の項目数を取得します。

plCountINT*inout項目数を格納する long へのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

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

vtbl 8 HRESULT get_name(LPWSTR* pbstrName)

get_name メソッドは、プレイリストの名前を取得します。

pbstrNameLPWSTR*inout名前を格納する BSTR へのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

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

vtbl 9 HRESULT put_name(LPWSTR bstrName)

put_name メソッドは、プレイリストの名前を指定します。

bstrNameLPWSTRin名前を格納する文字列。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

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

Windows Media Player 10 Mobile: このメソッドは常に E_INVALIDARG を返します。

vtbl 10 HRESULT get_attributeCount(INT* plCount)

get_attributeCount メソッドは、プレイリストに関連付けられている属性の数を取得します。

plCountINT*inout属性数を格納する long へのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

プレイリストはさまざまなソースから取得できるため、いくつかの異なるプロパティのセットを持つことがあります。このメソッドは、Playlist オブジェクトの他のメソッドがアクセスできるように、利用可能なプロパティの総数を取得します。

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

Windows Media Player がサポートする属性については、Windows Media Player の「Attribute Reference」を参照してください。

vtbl 11 HRESULT get_attributeName(INT lIndex, LPWSTR* pbstrAttributeName)

get_attributeName メソッドは、インデックスで指定された属性の名前を取得します。

lIndexINTinインデックスを格納する long
pbstrAttributeNameLPWSTR*inout属性名を格納する BSTR へのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

属性の数は get_attributeCount メソッドで取得します。

pbstAttributeName 文字列を setItemInfo または getItemInfo メソッドに渡すことで、指定した名前の属性の値を設定または取得できます。

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

Windows Media Player がサポートする属性については、Windows Media Player の「Attribute Reference」を参照してください。

vtbl 12 HRESULT get_item(INT lIndex, IWMPMedia** ppIWMPMedia)

get_item メソッドは、指定されたインデックスにあるメディア項目を取得します。

lIndexINTinインデックスを格納する long
ppIWMPMediaIWMPMedia**out返される項目の IWMPMedia インターフェイスへのポインターへのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

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

vtbl 13 HRESULT getItemInfo(LPWSTR bstrName, LPWSTR* pbstrVal)

getItemInfo メソッドは、名前で指定されたプレイリスト属性の値を取得します。

bstrNameLPWSTRin名前を格納する BSTR
pbstrValLPWSTR*inout返される値を格納する BSTR へのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

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

vtbl 14 HRESULT setItemInfo(LPWSTR bstrName, LPWSTR bstrValue)

setItemInfo メソッドは、現在のプレイリストの属性の値を指定します。

bstrNameLPWSTRin属性名を格納する文字列。
bstrValueLPWSTRin属性値を格納する文字列。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

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

Windows Media Player 10 Mobile: このメソッドは常に E_INVALIDARG を返します。

vtbl 15 HRESULT get_isIdentical(IWMPPlaylist* pIWMPPlaylist, VARIANT_BOOL* pvbool)

get_isIdentical メソッドは、指定されたプレイリストが現在のプレイリストと同一かどうかを示す値を取得します。

pIWMPPlaylistIWMPPlaylist*inこのメソッドが現在のプレイリストと比較するプレイリストの IWMPPlaylist インターフェイスへのポインター。
pvboolVARIANT_BOOL*inout比較したプレイリストが同一であったかどうかを指定する VARIANT_BOOL

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 16 HRESULT clear()

clear メソッドは、将来使用するために予約されています。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

戻り値 説明
S_OK
メソッドは成功しました。
vtbl 17 HRESULT insertItem(INT lIndex, IWMPMedia* pIWMPMedia)

insertItem メソッドは、プレイリスト内の指定された位置にメディア項目を追加します。

lIndexINTinこのメソッドが項目を追加するインデックスを格納する long
pIWMPMediaIWMPMedia*in挿入する項目の IWMPMedia インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

挿入した項目より後ろにあるすべての項目は、インデックス番号が 1 つ増加します。

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

vtbl 18 HRESULT appendItem(IWMPMedia* pIWMPMedia)

appendItem メソッドは、プレイリストの末尾にメディア項目を追加します。

pIWMPMediaIWMPMedia*inIWMPMedia インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

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

vtbl 19 HRESULT removeItem(IWMPMedia* pIWMPMedia)

removeItem メソッドは、指定されたメディア項目をプレイリストから削除します。

pIWMPMediaIWMPMedia*in削除する項目の IWMPMedia インターフェイスへのポインター。

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

削除した項目が現在再生中のトラックである場合、再生が停止し、プレイリスト内の次の項目が現在の項目になります。

次の項目が存在しない場合は、前の項目が使用されます。他に項目が存在しない場合は、IWMPCore::get_currentMedia メソッドが NULL を返します。

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

vtbl 20 HRESULT moveItem(INT lIndexOld, INT lIndexNew)

moveItem メソッドは、プレイリスト内のメディア項目の位置を変更します。

lIndexOldINTin元のインデックスを格納する long
lIndexNewINTin新しいインデックスを格納する long

戻り値

このメソッドは HRESULT を返します。取り得る値には、次の表に示すものが含まれますが、これらに限定されません。

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

解説(Remarks)

挿入した項目より後ろにあるすべての項目は、インデックス番号が 1 つ増加します。

このメソッドを呼び出す前に、ライブラリへのフルアクセス権が必要です。詳細については、「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_IWMPPlaylist "{D5F0F4F1-130C-11D3-B14E-00C04F79FAA6}"
#usecom global IWMPPlaylist IID_IWMPPlaylist "{}"
#comfunc global IWMPPlaylist_get_count           7 var
#comfunc global IWMPPlaylist_get_name            8 var
#comfunc global IWMPPlaylist_put_name            9 wstr
#comfunc global IWMPPlaylist_get_attributeCount  10 var
#comfunc global IWMPPlaylist_get_attributeName   11 int,var
#comfunc global IWMPPlaylist_get_item            12 int,sptr
#comfunc global IWMPPlaylist_getItemInfo         13 wstr,var
#comfunc global IWMPPlaylist_setItemInfo         14 wstr,wstr
#comfunc global IWMPPlaylist_get_isIdentical     15 sptr,var
#comfunc global IWMPPlaylist_clear               16
#comfunc global IWMPPlaylist_insertItem          17 int,sptr
#comfunc global IWMPPlaylist_appendItem          18 sptr
#comfunc global IWMPPlaylist_removeItem          19 sptr
#comfunc global IWMPPlaylist_moveItem            20 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。