メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

dkcThread.h

Thread関係ユーティリティ [詳細]

#include "dkcThreadLock.h"

dkcThread.hのインクルード依存関係図

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

関数

DKC_EXTERN DKC_THREAD *WINAPI dkcAllocThread ()
DKC_EXTERN int WINAPI dkcFreeThread (DKC_THREAD **p)
DKC_EXTERN int WINAPI dkcGetCurrentThread (DKC_THREAD *out)
DKC_EXTERN int WINAPI dkcGetThreadPriority (DKC_THREAD *p, int *priority)
DKC_EXTERN int WINAPI dkcSetThreadPriority (DKC_THREAD *p, int priority)
DKC_EXTERN int WINAPI dkcGetCurrentThreadPriority (int *priority)
DKC_EXTERN int WINAPI dkcSetCurrentThreadPriority (int priority)
DKC_EXTERN int WINAPI dkcGetProcessPriority (DKC_THREAD *p, int *priority)
DKC_EXTERN int WINAPI dkcSetProcessPriority (DKC_THREAD *p, int priority)
DKC_EXTERN int WINAPI dkcGetCurrentProcessPriority (int *priority)
DKC_EXTERN int WINAPI dkcSetCurrentProcessPriority (int priority)


説明

Thread関係ユーティリティ

作者:
d金魚
から:
2005/11/16
覚え書き:

dkcThread.h で定義されています。


関数

DKC_EXTERN DKC_THREAD* WINAPI dkcAllocThread  ) 
 

dkcThread.c14 行で定義されています。

参照先 dkcAllocate().

00015 {
00016     return dkcAllocate(sizeof(DKC_THREAD));
00017 
00018 }

DKC_EXTERN int WINAPI dkcFreeThread DKC_THREAD **  p  ) 
 

dkcThread.c20 行で定義されています。

参照先 dkcFree().

00020                                                     {
00021     return dkcFree((void **)pp);
00022 }

DKC_EXTERN int WINAPI dkcGetCurrentProcessPriority int *  priority  ) 
 

dkcThread.c200 行で定義されています。

参照先 dkcGetCurrentThread(), と dkcGetProcessPriority().

00200                                                       {
00201     DKC_THREAD t;
00202     int r;
00203 #ifdef WIN32
00204     r = dkcGetCurrentThread(&t);
00205     if(DKUTIL_FAILED(r)){return r;}
00206     r = dkcGetProcessPriority(&t,priority);
00207 #else
00208 
00209 #endif
00210     return r;
00211 }

DKC_EXTERN int WINAPI dkcGetCurrentThread DKC_THREAD *  out  ) 
 

dkcThread.c24 行で定義されています。

参照元 dkcGetCurrentProcessPriority(), dkcGetCurrentThreadPriority(), dkcSetCurrentProcessPriority(), と dkcSetCurrentThreadPriority().

00025 {
00026 #ifdef WIN32
00027     out->handle = GetCurrentThread();
00028     out->id = GetCurrentThreadId();
00029 #else
00030 
00031 #endif
00032     return edk_SUCCEEDED;
00033 
00034 }

DKC_EXTERN int WINAPI dkcGetCurrentThreadPriority int *  priority  ) 
 

dkcThread.c111 行で定義されています。

参照先 dkcGetCurrentThread(), と dkcGetThreadPriority().

00112 {
00113     DKC_THREAD t;
00114     int r;
00115 #ifdef WIN32
00116     r = dkcGetCurrentThread(&t);
00117     if(DKUTIL_FAILED(r)){return r;}
00118     r = dkcGetThreadPriority(&t,priority);
00119 #else
00120 
00121 #endif
00122     return r;
00123 
00124 }

DKC_EXTERN int WINAPI dkcGetProcessPriority DKC_THREAD *  p,
int *  priority
 

dkcThread.c141 行で定義されています。

参照先 DWORD.

参照元 dkcGetCurrentProcessPriority().

00142 {
00143 #ifdef WIN32
00144 
00145     DWORD d = GetPriorityClass(p->handle);
00146     switch(d){
00147     case HIGH_PRIORITY_CLASS:
00148         *priority = edkcProcessPriorityHigh;
00149         break;
00150     case IDLE_PRIORITY_CLASS:
00151         *priority = edkcProcessPriorityIdle;
00152         break;
00153     case NORMAL_PRIORITY_CLASS:
00154         *priority = edkcProcessPriorityNormal;
00155         break;
00156     case REALTIME_PRIORITY_CLASS:
00157         *priority = edkcProcessPriorityRealTime;
00158         break;
00159     default:
00160         return edk_FAILED;
00161     }
00162 
00163 #else
00164 
00165 #endif
00166     return edk_SUCCEEDED;
00167 }

DKC_EXTERN int WINAPI dkcGetThreadPriority DKC_THREAD *  p,
int *  priority
 

dkcThread.c37 行で定義されています。

参照先 DWORD.

参照元 dkcGetCurrentThreadPriority().

00038 {
00039 #ifdef WIN32
00040     DWORD d = GetThreadPriority(p->handle);
00041     switch(d){
00042     case THREAD_PRIORITY_LOWEST:
00043         *priority = edkcThreadPriorityLowest;
00044         break;
00045     case THREAD_PRIORITY_BELOW_NORMAL:
00046         *priority = edkcThreadPriorityBelowNormal;
00047         break;
00048     case THREAD_PRIORITY_NORMAL:
00049         *priority = edkcThreadPriorityNormal;
00050         break;
00051     case THREAD_PRIORITY_ABOVE_NORMAL:
00052         *priority = edkcThreadPriorityAboveNormal;
00053         break;
00054     case THREAD_PRIORITY_HIGHEST:
00055         *priority = edkcThreadPriorityHighest;
00056         break;
00057     case THREAD_PRIORITY_IDLE:
00058         *priority = edkcThreadPriorityIdle;
00059         break;
00060     case THREAD_PRIORITY_TIME_CRITICAL:
00061         *priority = edkcThreadPriorityTimeCritical;
00062         break;
00063     default:
00064         return edk_FAILED;
00065     }
00066 #else
00067 
00068 
00069 #endif
00070     return edk_SUCCEEDED;
00071 }

DKC_EXTERN int WINAPI dkcSetCurrentProcessPriority int  priority  ) 
 

dkcThread.c212 行で定義されています。

参照先 dkcGetCurrentThread(), と dkcSetProcessPriority().

00212                                                      {
00213     DKC_THREAD t;
00214     int r;
00215 #ifdef WIN32
00216     r = dkcGetCurrentThread(&t);
00217     if(DKUTIL_FAILED(r)){return r;}
00218     r = dkcSetProcessPriority(&t,priority);
00219 #else
00220 
00221 #endif
00222     return r;
00223 }

DKC_EXTERN int WINAPI dkcSetCurrentThreadPriority int  priority  ) 
 

dkcThread.c126 行で定義されています。

参照先 dkcGetCurrentThread(), と dkcSetThreadPriority().

00127 {
00128     DKC_THREAD t;
00129     int r;
00130 #ifdef WIN32
00131     r = dkcGetCurrentThread(&t);
00132     if(DKUTIL_FAILED(r)){return r;}
00133     r = dkcSetThreadPriority(&t,priority);
00134 #else
00135 
00136 #endif
00137     return r;
00138 
00139 }

DKC_EXTERN int WINAPI dkcSetProcessPriority DKC_THREAD *  p,
int  priority
 

dkcThread.c169 行で定義されています。

参照先 DWORD, と FALSE.

参照元 dkcSetCurrentProcessPriority().

00169                                                                        {
00170 #ifdef WIN32
00171     DWORD pc;
00172     switch(priority){
00173     case edkcProcessPriorityHigh:
00174         pc = HIGH_PRIORITY_CLASS;
00175         break;
00176     case edkcProcessPriorityIdle:
00177         pc =IDLE_PRIORITY_CLASS;
00178         break;
00179     case edkcProcessPriorityNormal:
00180         pc =NORMAL_PRIORITY_CLASS;
00181         break;
00182     case edkcProcessPriorityRealTime:
00183         pc =REALTIME_PRIORITY_CLASS;
00184         break;
00185     default:
00186         return edk_FAILED;
00187     }
00188     if(FALSE==SetPriorityClass(p->handle,pc)){
00189         return edk_FAILED;
00190     }
00191 #else
00192 
00193 
00194 #endif
00195     return edk_SUCCEEDED;
00196 
00197 
00198 }

DKC_EXTERN int WINAPI dkcSetThreadPriority DKC_THREAD *  p,
int  priority
 

dkcThread.c72 行で定義されています。

参照先 FALSE.

参照元 dkcSetCurrentThreadPriority().

00073 {
00074 #ifdef WIN32
00075     int tp;
00076     switch(priority){
00077     case edkcThreadPriorityLowest:
00078         tp = THREAD_PRIORITY_LOWEST;
00079         break;
00080     case edkcThreadPriorityBelowNormal:
00081         tp = THREAD_PRIORITY_BELOW_NORMAL;
00082         break;
00083     case edkcThreadPriorityNormal:
00084         tp = THREAD_PRIORITY_NORMAL;
00085         break;
00086     case edkcThreadPriorityAboveNormal:
00087         tp = THREAD_PRIORITY_ABOVE_NORMAL;
00088         break;
00089     case edkcThreadPriorityHighest:
00090         tp = THREAD_PRIORITY_HIGHEST;
00091         break;
00092     case edkcThreadPriorityIdle:
00093         tp = THREAD_PRIORITY_IDLE;
00094         break;
00095     case edkcThreadPriorityTimeCritical:
00096         tp = THREAD_PRIORITY_TIME_CRITICAL;
00097         break;
00098     default:
00099         return edk_FAILED;
00100     }
00101     if(FALSE==SetThreadPriority(p->handle,tp)){
00102         return edk_FAILED;
00103     }
00104 #else
00105 
00106 
00107 #endif
00108     return edk_SUCCEEDED;
00109 }


dkutil_cに対してMon Jan 16 00:46:38 2006に生成されました。  doxygen 1.4.4