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

IDiscFormat2Data

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

メソッド 32

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

vtbl 12 HRESULT put_Recorder(IDiscRecorder2* value)
valueIDiscRecorder2*in書き込みに使用する記録デバイスを表す IDiscRecorder2 へのポインタを指定する。
vtbl 13 HRESULT get_Recorder(IDiscRecorder2** value)
valueIDiscRecorder2**out現在設定されている記録デバイスを表す IDiscRecorder2 ポインタを受け取る変数へのポインタである。
vtbl 14 HRESULT put_BufferUnderrunFreeDisabled(VARIANT_BOOL value)
valueVARIANT_BOOLinバッファアンダーラン防止機能を無効化するかどうかを指定する VARIANT_BOOL 値である。
vtbl 15 HRESULT get_BufferUnderrunFreeDisabled(VARIANT_BOOL* value)
valueVARIANT_BOOL*outバッファアンダーラン防止機能が無効化されているかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 16 HRESULT put_PostgapAlreadyInImage(VARIANT_BOOL value)
valueVARIANT_BOOLinイメージ内に既にポストギャップが含まれているかどうかを指定する VARIANT_BOOL 値である。
vtbl 17 HRESULT get_PostgapAlreadyInImage(VARIANT_BOOL* value)
valueVARIANT_BOOL*outイメージ内に既にポストギャップが含まれている設定かどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 18 HRESULT get_CurrentMediaStatus(IMAPI_FORMAT2_DATA_MEDIA_STATE* value)
valueIMAPI_FORMAT2_DATA_MEDIA_STATE*out現在のメディア状態を表すフラグ値を受け取る列挙値へのポインタである。
vtbl 19 HRESULT get_WriteProtectStatus(IMAPI_MEDIA_WRITE_PROTECT_STATE* value)
valueIMAPI_MEDIA_WRITE_PROTECT_STATE*out現在のメディアの書き込み保護状態を受け取る列挙値へのポインタである。
vtbl 20 HRESULT get_TotalSectorsOnMedia(INT* value)
valueINT*outメディア上の総セクター数を受け取る変数へのポインタである。
vtbl 21 HRESULT get_FreeSectorsOnMedia(INT* value)
valueINT*outメディア上の書き込み可能な空きセクター数を受け取る変数へのポインタである。
vtbl 22 HRESULT get_NextWritableAddress(INT* value)
valueINT*out次に書き込み可能なメディア上のアドレスを受け取る変数へのポインタである。
vtbl 23 HRESULT get_StartAddressOfPreviousSession(INT* value)
valueINT*out直前のセッションの開始アドレスを受け取る変数へのポインタである。
vtbl 24 HRESULT get_LastWrittenAddressOfPreviousSession(INT* value)
valueINT*out直前のセッションで最後に書き込まれたアドレスを受け取る変数へのポインタである。
vtbl 25 HRESULT put_ForceMediaToBeClosed(VARIANT_BOOL value)
valueVARIANT_BOOLin書き込み後にメディアを強制的にクローズ(追記不可化)するかどうかを指定する VARIANT_BOOL 値である。
vtbl 26 HRESULT get_ForceMediaToBeClosed(VARIANT_BOOL* value)
valueVARIANT_BOOL*outメディアを強制クローズする設定かどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 27 HRESULT put_DisableConsumerDvdCompatibilityMode(VARIANT_BOOL value)
valueVARIANT_BOOLin民生用 DVD 互換モードを無効化するかどうかを指定する VARIANT_BOOL 値である。
vtbl 28 HRESULT get_DisableConsumerDvdCompatibilityMode(VARIANT_BOOL* value)
valueVARIANT_BOOL*out民生用 DVD 互換モードが無効化されているかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 29 HRESULT get_CurrentPhysicalMediaType(IMAPI_MEDIA_PHYSICAL_TYPE* value)
valueIMAPI_MEDIA_PHYSICAL_TYPE*out現在装填されているメディアの物理種別を受け取る列挙値へのポインタである。
vtbl 30 HRESULT put_ClientName(LPWSTR value)
valueLPWSTRinデバイスへの排他アクセス取得時に使用するクライアント名を指す文字列へのポインタである。
vtbl 31 HRESULT get_ClientName(LPWSTR* value)
valueLPWSTR*out設定されているクライアント名を受け取る変数へのポインタである。
vtbl 32 HRESULT get_RequestedWriteSpeed(INT* value)
valueINT*out要求されている書き込み速度(毎秒セクター数)を受け取る変数へのポインタである。
vtbl 33 HRESULT get_RequestedRotationTypeIsPureCAV(VARIANT_BOOL* value)
valueVARIANT_BOOL*out要求された回転方式が純粋な CAV であるかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 34 HRESULT get_CurrentWriteSpeed(INT* value)
valueINT*out現在の書き込み速度(毎秒セクター数)を受け取る変数へのポインタである。
vtbl 35 HRESULT get_CurrentRotationTypeIsPureCAV(VARIANT_BOOL* value)
valueVARIANT_BOOL*out現在の回転方式が純粋な CAV であるかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 36 HRESULT get_SupportedWriteSpeeds(SAFEARRAY** supportedSpeeds)
supportedSpeedsSAFEARRAY**outサポートされる書き込み速度(毎秒セクター数)の配列を格納する SAFEARRAY を受け取るポインタへのポインタである。
vtbl 37 HRESULT get_SupportedWriteSpeedDescriptors(SAFEARRAY** supportedSpeedDescriptors)
supportedSpeedDescriptorsSAFEARRAY**outサポートされる書き込み速度記述子(IWriteSpeedDescriptor)の配列を格納する SAFEARRAY を受け取るポインタへのポインタである。
vtbl 38 HRESULT put_ForceOverwrite(VARIANT_BOOL value)
valueVARIANT_BOOLin上書き可能なメディアに対し強制的に上書きするかどうかを指定する VARIANT_BOOL 値である。
vtbl 39 HRESULT get_ForceOverwrite(VARIANT_BOOL* value)
valueVARIANT_BOOL*out強制上書きが設定されているかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 40 HRESULT get_MultisessionInterfaces(SAFEARRAY** value)
valueSAFEARRAY**outサポートされるマルチセッションインターフェイスの配列を格納する SAFEARRAY を受け取るポインタへのポインタである。NULL を設定すると非マルチセッションとなる。
vtbl 41 HRESULT Write(IStream* data)
dataIStream*inメディアへ書き込むデータイメージを供給する IStream へのポインタである。
vtbl 42 HRESULT CancelWrite()
vtbl 43 HRESULT SetWriteSpeed(INT RequestedSectorsPerSecond, VARIANT_BOOL RotationTypeIsPureCAV)
RequestedSectorsPerSecondINTin要求する書き込み速度を毎秒セクター数で指定する。
RotationTypeIsPureCAVVARIANT_BOOLin回転方式を純粋な CAV にする場合に VARIANT_TRUE を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IDiscFormat2Data "{27354153-9F64-5B0F-8F00-5D77AFBE261E}"
#usecom global IDiscFormat2Data IID_IDiscFormat2Data "{}"
#comfunc global IDiscFormat2Data_put_Recorder                             12 sptr
#comfunc global IDiscFormat2Data_get_Recorder                             13 sptr
#comfunc global IDiscFormat2Data_put_BufferUnderrunFreeDisabled           14 int
#comfunc global IDiscFormat2Data_get_BufferUnderrunFreeDisabled           15 var
#comfunc global IDiscFormat2Data_put_PostgapAlreadyInImage                16 int
#comfunc global IDiscFormat2Data_get_PostgapAlreadyInImage                17 var
#comfunc global IDiscFormat2Data_get_CurrentMediaStatus                   18 var
#comfunc global IDiscFormat2Data_get_WriteProtectStatus                   19 var
#comfunc global IDiscFormat2Data_get_TotalSectorsOnMedia                  20 var
#comfunc global IDiscFormat2Data_get_FreeSectorsOnMedia                   21 var
#comfunc global IDiscFormat2Data_get_NextWritableAddress                  22 var
#comfunc global IDiscFormat2Data_get_StartAddressOfPreviousSession        23 var
#comfunc global IDiscFormat2Data_get_LastWrittenAddressOfPreviousSession  24 var
#comfunc global IDiscFormat2Data_put_ForceMediaToBeClosed                 25 int
#comfunc global IDiscFormat2Data_get_ForceMediaToBeClosed                 26 var
#comfunc global IDiscFormat2Data_put_DisableConsumerDvdCompatibilityMode  27 int
#comfunc global IDiscFormat2Data_get_DisableConsumerDvdCompatibilityMode  28 var
#comfunc global IDiscFormat2Data_get_CurrentPhysicalMediaType             29 var
#comfunc global IDiscFormat2Data_put_ClientName                           30 wstr
#comfunc global IDiscFormat2Data_get_ClientName                           31 var
#comfunc global IDiscFormat2Data_get_RequestedWriteSpeed                  32 var
#comfunc global IDiscFormat2Data_get_RequestedRotationTypeIsPureCAV       33 var
#comfunc global IDiscFormat2Data_get_CurrentWriteSpeed                    34 var
#comfunc global IDiscFormat2Data_get_CurrentRotationTypeIsPureCAV         35 var
#comfunc global IDiscFormat2Data_get_SupportedWriteSpeeds                 36 var
#comfunc global IDiscFormat2Data_get_SupportedWriteSpeedDescriptors       37 var
#comfunc global IDiscFormat2Data_put_ForceOverwrite                       38 int
#comfunc global IDiscFormat2Data_get_ForceOverwrite                       39 var
#comfunc global IDiscFormat2Data_get_MultisessionInterfaces               40 var
#comfunc global IDiscFormat2Data_Write                                    41 sptr
#comfunc global IDiscFormat2Data_CancelWrite                              42
#comfunc global IDiscFormat2Data_SetWriteSpeed                            43 int,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。