Win32 API 日本語リファレンス
ホームStorage.Imapi › IDiscFormat2TrackAtOnce

IDiscFormat2TrackAtOnce

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID27354154-8f64-5b0f-8f00-5d77afbe261e継承元IDiscFormat2呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl12

メソッド 25

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

vtbl 12 HRESULT PrepareMedia()
vtbl 13 HRESULT AddAudioTrack(IStream* data)
dataIStream*inトラックアットワンス方式で追加するオーディオトラックのデータを供給する IStream へのポインタである。
vtbl 14 HRESULT CancelAddTrack()
vtbl 15 HRESULT ReleaseMedia()
vtbl 16 HRESULT SetWriteSpeed(INT RequestedSectorsPerSecond, VARIANT_BOOL RotationTypeIsPureCAV)
RequestedSectorsPerSecondINTin要求する書き込み速度を毎秒セクター数で指定する。
RotationTypeIsPureCAVVARIANT_BOOLin回転方式を純粋な CAV にする場合に VARIANT_TRUE を指定する。
vtbl 17 HRESULT put_Recorder(IDiscRecorder2* value)
valueIDiscRecorder2*in書き込みに使用する記録デバイスを表す IDiscRecorder2 へのポインタを指定する。
vtbl 18 HRESULT get_Recorder(IDiscRecorder2** value)
valueIDiscRecorder2**out現在設定されている記録デバイスを表す IDiscRecorder2 ポインタを受け取る変数へのポインタである。
vtbl 19 HRESULT put_BufferUnderrunFreeDisabled(VARIANT_BOOL value)
valueVARIANT_BOOLinバッファアンダーラン防止機能を無効化するかどうかを指定する VARIANT_BOOL 値である。
vtbl 20 HRESULT get_BufferUnderrunFreeDisabled(VARIANT_BOOL* value)
valueVARIANT_BOOL*outバッファアンダーラン防止機能が無効化されているかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 21 HRESULT get_NumberOfExistingTracks(INT* value)
valueINT*outメディア上に既に存在するトラック数を受け取る変数へのポインタである。
vtbl 22 HRESULT get_TotalSectorsOnMedia(INT* value)
valueINT*outメディア上の総セクター数を受け取る変数へのポインタである。
vtbl 23 HRESULT get_FreeSectorsOnMedia(INT* value)
valueINT*outメディア上の書き込み可能な空きセクター数を受け取る変数へのポインタである。
vtbl 24 HRESULT get_UsedSectorsOnMedia(INT* value)
valueINT*outメディア上で既に使用済みのセクター数を受け取る変数へのポインタである。
vtbl 25 HRESULT put_DoNotFinalizeMedia(VARIANT_BOOL value)
valueVARIANT_BOOLin書き込み後にメディアをファイナライズしない(追記を許可する)場合に VARIANT_TRUE を指定する。
vtbl 26 HRESULT get_DoNotFinalizeMedia(VARIANT_BOOL* value)
valueVARIANT_BOOL*outメディアをファイナライズしない設定かどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 27 HRESULT get_ExpectedTableOfContents(SAFEARRAY** value)
valueSAFEARRAY**out書き込み後に期待される目次(TOC)情報の配列を格納する SAFEARRAY を受け取るポインタへのポインタである。
vtbl 28 HRESULT get_CurrentPhysicalMediaType(IMAPI_MEDIA_PHYSICAL_TYPE* value)
valueIMAPI_MEDIA_PHYSICAL_TYPE*out現在装填されているメディアの物理種別を受け取る列挙値へのポインタである。
vtbl 29 HRESULT put_ClientName(LPWSTR value)
valueLPWSTRinデバイスへの排他アクセス取得時に使用するクライアント名を指す文字列へのポインタである。
vtbl 30 HRESULT get_ClientName(LPWSTR* value)
valueLPWSTR*out設定されているクライアント名を受け取る変数へのポインタである。
vtbl 31 HRESULT get_RequestedWriteSpeed(INT* value)
valueINT*out要求されている書き込み速度(毎秒セクター数)を受け取る変数へのポインタである。
vtbl 32 HRESULT get_RequestedRotationTypeIsPureCAV(VARIANT_BOOL* value)
valueVARIANT_BOOL*out要求された回転方式が純粋な CAV であるかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 33 HRESULT get_CurrentWriteSpeed(INT* value)
valueINT*out現在の書き込み速度(毎秒セクター数)を受け取る変数へのポインタである。
vtbl 34 HRESULT get_CurrentRotationTypeIsPureCAV(VARIANT_BOOL* value)
valueVARIANT_BOOL*out現在の回転方式が純粋な CAV であるかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 35 HRESULT get_SupportedWriteSpeeds(SAFEARRAY** supportedSpeeds)
supportedSpeedsSAFEARRAY**outサポートされる書き込み速度(毎秒セクター数)の配列を格納する SAFEARRAY を受け取るポインタへのポインタである。
vtbl 36 HRESULT get_SupportedWriteSpeedDescriptors(SAFEARRAY** supportedSpeedDescriptors)
supportedSpeedDescriptorsSAFEARRAY**outサポートされる書き込み速度記述子(IWriteSpeedDescriptor)の配列を格納する SAFEARRAY を受け取るポインタへのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IDiscFormat2TrackAtOnce "{27354154-8F64-5B0F-8F00-5D77AFBE261E}"
#usecom global IDiscFormat2TrackAtOnce IID_IDiscFormat2TrackAtOnce "{}"
#comfunc global IDiscFormat2TrackAtOnce_PrepareMedia                        12
#comfunc global IDiscFormat2TrackAtOnce_AddAudioTrack                       13 sptr
#comfunc global IDiscFormat2TrackAtOnce_CancelAddTrack                      14
#comfunc global IDiscFormat2TrackAtOnce_ReleaseMedia                        15
#comfunc global IDiscFormat2TrackAtOnce_SetWriteSpeed                       16 int,int
#comfunc global IDiscFormat2TrackAtOnce_put_Recorder                        17 sptr
#comfunc global IDiscFormat2TrackAtOnce_get_Recorder                        18 sptr
#comfunc global IDiscFormat2TrackAtOnce_put_BufferUnderrunFreeDisabled      19 int
#comfunc global IDiscFormat2TrackAtOnce_get_BufferUnderrunFreeDisabled      20 var
#comfunc global IDiscFormat2TrackAtOnce_get_NumberOfExistingTracks          21 var
#comfunc global IDiscFormat2TrackAtOnce_get_TotalSectorsOnMedia             22 var
#comfunc global IDiscFormat2TrackAtOnce_get_FreeSectorsOnMedia              23 var
#comfunc global IDiscFormat2TrackAtOnce_get_UsedSectorsOnMedia              24 var
#comfunc global IDiscFormat2TrackAtOnce_put_DoNotFinalizeMedia              25 int
#comfunc global IDiscFormat2TrackAtOnce_get_DoNotFinalizeMedia              26 var
#comfunc global IDiscFormat2TrackAtOnce_get_ExpectedTableOfContents         27 var
#comfunc global IDiscFormat2TrackAtOnce_get_CurrentPhysicalMediaType        28 var
#comfunc global IDiscFormat2TrackAtOnce_put_ClientName                      29 wstr
#comfunc global IDiscFormat2TrackAtOnce_get_ClientName                      30 var
#comfunc global IDiscFormat2TrackAtOnce_get_RequestedWriteSpeed             31 var
#comfunc global IDiscFormat2TrackAtOnce_get_RequestedRotationTypeIsPureCAV  32 var
#comfunc global IDiscFormat2TrackAtOnce_get_CurrentWriteSpeed               33 var
#comfunc global IDiscFormat2TrackAtOnce_get_CurrentRotationTypeIsPureCAV    34 var
#comfunc global IDiscFormat2TrackAtOnce_get_SupportedWriteSpeeds            35 var
#comfunc global IDiscFormat2TrackAtOnce_get_SupportedWriteSpeedDescriptors  36 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。