# MI_CancelWram*

## 構文

  `#include <twl/mi.h>`
  `int MI_CancelWram( MIWramPos wram, MIWramProc proc )`
  `int MI_CancelWramSlot( MIWramPos wram, int slot, MIWramSize size, MIWramProc proc )`
  `(#define)
  #define MI_CancelWram_A( proc )
  #define MI_CancelWram_B( proc )
  #define MI_CancelWram_C( proc )
  #define MI_CancelWramSlot_A( slot, size, proc )
  #define MI_CancelWramSlot_B( slot, size, proc )
  #define MI_CancelWramSlot_C( slot, size, proc )`

## 引数

wram | 予約を取り消す対象 WRAM
slot | 予約を取り消す領域の先頭WRAM番号
size | 予約を取り消す領域の大きさ
proc | 予約を取り消すプロセッサ

## 返り値

予約を取り消したWRAMスロット数。 0 なら取り消さなかったという意味で、-1 ならば失敗。

## 説明

指定のWRAM に対し、あるプロセッサ用の予約を取り消します。

`MI_ReserveWram*()` で予約していたWRAM の領域に対し、予約を取り消します。指定の WRAM の中の、指定の対象プロセッサのものをすべて取り消します。その領域が使用中であっても予約の取り消しを行います。予約を取り消しても、その領域のマスタープロセッサは変わりませんし、内容が失われることもありません。

wram は対象となる WRAM を表します。`MIWramPos` 型で、`MI_WRAM_A, MI_WRAM_B, MI_WRAM_C` のいずれかになります。

slot は予約を取り消す領域の先頭スロットの番号です。

size は予約を取り消す領域の大きさです。

proc はどのプロセッサ用の予約を取り消すかを表します。`MIWramProc` 型で、`MI_WRAM_ARM9, MI_WRAM_ARM7, MI_WRAM_DSP` のいずれかとなります。

`MI_CancelWram_A` は `MI_CancelWram( MI_WRAM_A, ... )` の define です。
`MI_CancelWram_B` は `MI_CancelWram( MI_WRAM_B, ... )` の define です。
`MI_CancelWram_C` は `MI_CancelWram( MI_WRAM_C, ... )` の define です。
`MI_CancelWramSlot_A` は `MI_CancelWramSlot( MI_WRAM_A, ... )` の define です。
`MI_CancelWramSlot_B` は `MI_CancelWramSlot( MI_WRAM_B, ... )` の define です。
`MI_CancelWramSlot_C` は `MI_CancelWramSlot( MI_WRAM_C, ... )` の define です。

`MI_CancelWran()` は、指定のWRAMの中で、指定のプロセッサ用に予約していた領域をすべて解放します。

`MI_CancelWramSlot()` は、指定のWRAMの中から slot とsize で領域を指定し、その中で指定のプロセッサ用に予約していた領域をすべて解放します。

(例) WRAM-C から、DSP用に予約していた領域を、すべて解放する。
`MI_CancelWram( MI_WRAM_C, MI_WRAM_DSP );`
または
`MI_CancelWram_C( MI_WRAM_DSP );`

(例) WRAM-C のスロット2から 96KB分のうち、DSP用に予約していた領域を、すべて解放する。
`MI_CancelWramSlot( MI_WRAM_C, 2, MI_WRAM_SIZE_96KB, MI_WRAM_DSP );`
または
`MI_CancelWramSlot_C( 2, MI_WRAM_SIZE_96KB, MI_WRAM_DSP );`

## 参照

概要(ワークRAM)、MI関連の定数

## 履歴

2010/05/17 誤記修正
2007/08/20 初版