IRawCDImageTrackInfo
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
CD メディアに適用されるトラックごとのプロパティを追跡するには、このインターフェースを使用します。
解説(Remarks)
このインターフェースは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
メソッド 13
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
このトラック内の最初のユーザーセクターの LBA を取得します。
| value | INT* | out | このトラック内の最初のユーザーセクターの LBA。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返されることもあります。
解説(Remarks)
ほとんどのトラックにはプリギャップとポストギャップも含まれますが、これらはこの値には含まれません。
このメソッドは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
このトラック内のユーザーセクターの数を取得します。
| value | INT* | out | このトラック内のユーザーセクターの数。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返されることもあります。
解説(Remarks)
トラックの終端は通常、StartingLBA に SectorCount を加えた位置になります。次のトラックの開始位置は、これら両方のプロパティに加えて、必要なプリギャップまたはポストギャップを含みます。
このメソッドは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
このトラックのトラック番号を取得します。
| value | INT* | out | このトラックのトラック番号。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返されることもあります。
解説(Remarks)
この値は多くの場合 TrackIndex プロパティと同一ですが、純粋なオーディオディスクではトラック番号 1 以外のトラックから開始することもあります。つまり、より一般的な式は ( TrackIndex + FirstTrackNumber - 1) となります。
このメソッドは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
このトラックのセクターに提供されるデータの種類を取得します。指定可能なセクターの種類の詳細については、IMAPI_CD_SECTOR_TYPE を参照してください。
| value | IMAPI_CD_SECTOR_TYPE* | out | トラック上のセクターに提供されるデータの種類を指定する IMAPI_CD_SECTOR_TYPE 列挙型へのポインター。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返されることもあります。
解説(Remarks)
このメソッドは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
現在トラックに関連付けられている International Standard Recording Code (ISRC) を取得します。このプロパティ値の既定値は NULL (または長さ 0 の文字列) であり、オーディオデータを含むトラックに対してのみ設定できます。
| value | LPWSTR* | out | 現在トラックに関連付けられている ISRC。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返されることもあります。
解説(Remarks)
ISRC は、"US-K7Y-98-12345" のように ISRC 標準 (DIN-31-621) の推奨に従って書式設定された形式で呼び出し元に提供されます。設定する際は、指定する文字列からすべての '-' 文字を省略することもできます。
このメソッドは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
現在トラックに関連付ける International Standard Recording Code (ISRC) を設定します。このプロパティ値の既定値は NULL (または長さ 0 の文字列) であり、オーディオデータを含むトラックに対してのみ設定できます。
| value | LPWSTR | in | トラックに関連付ける ISRC。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返されることもあります。
解説(Remarks)
ISRC は、"US-K7Y-98-12345" のように ISRC 標準 (DIN-31-621) の推奨に従って書式設定された形式で呼び出し元に提供されます。設定する際は、指定する文字列からすべての '-' 文字を省略することもできます。
このメソッドは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
作成されるメディア上の現在のデジタルオーディオコピー設定を表すビットの値を取得します。指定可能な値については、IMAPI_CD_TRACK_DIGITAL_COPY_SETTING 列挙型を参照してください。
| value | IMAPI_CD_TRACK_DIGITAL_COPY_SETTING* | out | 現在のデジタルオーディオコピー設定。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返されることもあります。
解説(Remarks)
このプロパティは、オーディオデータを含むトラックに対してのみ設定できます。
このメソッドは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
作成されるメディア上のデジタルオーディオコピーの "Allowed" ビットを 3 つの値のいずれかに設定します。指定可能な各値の詳細については、IMAPI_CD_TRACK_DIGITAL_COPY_SETTING 列挙型を参照してください。
| value | IMAPI_CD_TRACK_DIGITAL_COPY_SETTING | in | 割り当てるデジタルオーディオコピー設定の値。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返されることもあります。
解説(Remarks)
このプロパティは、オーディオデータを含むトラックに対してのみ設定できます。
このメソッドは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
オーディオトラックのオーディオデータに追加のプリエンファシスが適用されているかどうかを指定する値を取得します。
| value | VARIANT_BOOL* | out | オーディオトラックのオーディオデータに追加のプリエンファシスが適用されているかどうかを指定する値。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返されることもあります。
解説(Remarks)
このメソッドは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
CD に書き込む前に、オーディオトラックのオーディオデータに追加のプリエンファシスを適用するかどうかを指定する値を設定します。
| value | VARIANT_BOOL | in | オーディオトラックのオーディオデータに追加のプリエンファシスが適用されているかどうかを指定する値。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返されることもあります。
解説(Remarks)
このメソッドは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
ディスク上のトラックの 1 から始まるインデックスを取得します。
| value | SAFEARRAY** | out | このトラックに関連付けられた 1 から始まるインデックス。 |
戻り値
成功した場合は S_OK が返されますが、実装によっては他の成功コードが返されることもあります。
解説(Remarks)
このメソッドは、Windows Server 2003 Service Pack 1 (SP1)、Windows XP Service Pack 2 (SP2)、および Windows Vista では Windows Feature Pack for Storage を通じてサポートされます。この更新パッケージが提供するすべての機能は、Windows 7 および Windows Server 2008 R2 ではネイティブにサポートされます。
| lbaOffset | INT | in | トラックインデックスを追加する位置を、トラック先頭からの LBA オフセットで指定する。 |
| lbaOffset | INT | in | 削除するトラックインデックスを、トラック先頭からの LBA オフセットで指定する。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IRawCDImageTrackInfo "{25983551-9D65-49CE-B335-40630D901227}" #usecom global IRawCDImageTrackInfo IID_IRawCDImageTrackInfo "{}" #comfunc global IRawCDImageTrackInfo_get_StartingLba 7 var #comfunc global IRawCDImageTrackInfo_get_SectorCount 8 var #comfunc global IRawCDImageTrackInfo_get_TrackNumber 9 var #comfunc global IRawCDImageTrackInfo_get_SectorType 10 var #comfunc global IRawCDImageTrackInfo_get_ISRC 11 var #comfunc global IRawCDImageTrackInfo_put_ISRC 12 wstr #comfunc global IRawCDImageTrackInfo_get_DigitalAudioCopySetting 13 var #comfunc global IRawCDImageTrackInfo_put_DigitalAudioCopySetting 14 int #comfunc global IRawCDImageTrackInfo_get_AudioHasPreemphasis 15 var #comfunc global IRawCDImageTrackInfo_put_AudioHasPreemphasis 16 int #comfunc global IRawCDImageTrackInfo_get_TrackIndexes 17 var #comfunc global IRawCDImageTrackInfo_AddTrackIndex 18 int #comfunc global IRawCDImageTrackInfo_ClearTrackIndex 19 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IRawCDImageTrackInfo "{25983551-9D65-49CE-B335-40630D901227}" #usecom global IRawCDImageTrackInfo IID_IRawCDImageTrackInfo "{}" #comfunc global IRawCDImageTrackInfo_get_StartingLba 7 sptr #comfunc global IRawCDImageTrackInfo_get_SectorCount 8 sptr #comfunc global IRawCDImageTrackInfo_get_TrackNumber 9 sptr #comfunc global IRawCDImageTrackInfo_get_SectorType 10 sptr #comfunc global IRawCDImageTrackInfo_get_ISRC 11 sptr #comfunc global IRawCDImageTrackInfo_put_ISRC 12 wstr #comfunc global IRawCDImageTrackInfo_get_DigitalAudioCopySetting 13 sptr #comfunc global IRawCDImageTrackInfo_put_DigitalAudioCopySetting 14 int #comfunc global IRawCDImageTrackInfo_get_AudioHasPreemphasis 15 sptr #comfunc global IRawCDImageTrackInfo_put_AudioHasPreemphasis 16 int #comfunc global IRawCDImageTrackInfo_get_TrackIndexes 17 sptr #comfunc global IRawCDImageTrackInfo_AddTrackIndex 18 int #comfunc global IRawCDImageTrackInfo_ClearTrackIndex 19 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。