unschedTm

unschedTm 方法會取消逾時要求。

在下列情況下,會使用此方法:

unschedTm 方法的運作方式如下:

  1. 如果 OMReactive 實例不存在,則會傳回 unschedTm;否則它會呼叫互斥旗標,以保護下列作業:
    • 如果 id == 常數,則 unschedTm 會取消目的地為此 OMReactive 特定實例的所有事件。
    • unschedTm 會呼叫 isCurrentEvent 方法,以判定現行事件是否委派給此 OMReactive。 如果是,則 unschedTm 會呼叫 findInList 方法(專用),以尋找到期清單中的逾時,然後將其從到期清單中移除。
  2. 接下來,unschedTm 會針對下列項目,建立三個副本:
  3. unschedTm 方法會反覆運算資料堆並呼叫 刪除 方法,以刪除目的地為特定 OMReactive 的那些逾時。
  4. 最後,該方法會鎖定,以符合到期清單中的逾時。 它會呼叫 findInList 方法,以反覆運算到期清單,來尋找相符的逾時。 當找到時,它會呼叫 setlId 方法,以將逾時 ID 設為 常數,然後將其從到期清單中移除。
  5. 如果 id == 常數,則 unschedTm 僅會取消該事件。
可見性
Public
簽章
RP_FRAMEWORK_DLL void unschedTm (short id,
   OMReactive *c);
參數
id

指定逾時要求的 ID 標籤。

如果指定 常數,則 unschedTm 會取消目的地為此 OMReactive 特定實例的所有事件。如果指定 Constants,則 unschedTm 僅會取消該逾時。

c

指定通往 OMReactive 實例要求者的指標。取消逾時之後,此參數會指向所通知的實例。

附註

回饋