Pocket PC服務的使用

2021-05-24 00:31:08 字數 2917 閱讀 5353

許多

pocket pc

應用程式都需要後台程序,一種方式是:建立乙個可執行檔案並將該檔案的快捷方式放到

/windows/startup

中,這樣在重啟後啟動該程式並在後台執行。然而現有版本

windows ce

中的程序數量限制為

32,而很多機器內建的程序就有

20個左右,所以這種方法存在問題。

另一種方式是:

在services.exe

程序中新增一項

dll

服務,因為他不是乙個程序所以不會有程序限制的問題,

pocket pc

服務介面類似於

pocket pc

驅動程式介面。一項

pocket pc

服務就是乙個匯出一組函式的

dll,services.exe

程序載入這些

dll

並通過呼叫這其中的乙個函式來對它們進行初始化。

建立服務dll

1.

新增匯出函式定義。

services.exe

程序期望這些函式從各個服務

dll

匯出並呼叫它們來進行初始化並與服務進行通訊:

extern "c" dword pascal export tst_close(dword dwdata)

extern "c" dword pascal export tst_deinit(dword dwdata)

extern "c" dword pascal export tst_init(dword dwdata)

extern "c" dword pascal export tst_iocontrol(

dword dwdata,

dword dwcode,

pbyte pbufin,

dword dwlenin,

pbyte pbufout,

dword dwlenout,

pdword pdwactualout)

extern "c" dword pascal export tst_open(

dword dwdata,

dword dwaccess,

dword dwsharemode)

extern "c" dword pascal export tst_read(

dword dwdata,

lpvoid pbuf,

dword dwlen)

extern "c" dword pascal export tst_seek(

dword dwdata,

long pos,

dword type)

extern "c" dword pascal export tst_write(

dword dwdata,

lpcvoid pinbuf,

dword dwinlen)

這裡,tst是函式名稱字首,應用程式用它並通過

services.exe

來呼叫服務(此處的

tst

表示test

)。應當使用您自己的

3-字母字首來呼叫

_init

和其他的函式。2.

向tst_init

函式新增一些特殊的初始化**。這裡,可能需要建立乙個新執行緒來封裝所有的服務邏輯。

注確保tst_init

函式返回非零值,因為零返回值表示服務初始化失敗並會引起立即解除安裝服務

dll。

在登錄檔中註冊服務

為了使在系統啟動時自動啟動服務,您應當向登錄檔

hkey_local_machine/services/service

項新增乙個唯一命名的子項,並指定下面的值:

order : reg_dword •

services.exe

載入各項服務的次序。首先載入次序最低的服務。

dll : reg_sz •

載入動態鏈結庫

(dll)

檔案。只有檔名而沒有路徑。該

dll

應當位於

/windows

資料夾中。

keep : reg_dword •

對於應當在後台執行的服務

keep

必須為1

,如果keep = 0

,那麼在初始化後將會立即解除安裝該

dll。

prefix : reg_sz •

從服務dll

匯出函式的字首(而不是

***_init

中的***

,等等)。必須是

3 個符號。

index : reg_sz •

服務索引(設定為0)。

displayname : reg_sz •

顯示服務名稱。

description : reg_sz •

顯示服務的說明。

context : reg_dword •

傳遞給初始化例程的初始值(必須為0)。

示例如下:

[hkey_local_machine/services/myserv]

"dll"="tst.dll"

"order"=dword:8

"keep"=dword:1

"prefix"="mys"

"index"=dword:0

"context"=dword:0

"displayname"="sample mfc service"

"description"="sample service demonstratig mfc usage"

Samba服務的使用

安裝samba服務 root localhost yum install y samba 配置samba的配置檔案 etc samba smb.conf。修改 global 中的內容如下 global workgroup samba security user passdb backend tdbs...

q服務的使用

1.建立乙個service,去伺服器讀取資料 q 是內建服務,所以可以直接使用 return success function data,status,headers,config error function data,status,headers,config return deferred.p...

SFTP服務的使用!!

在client端安裝xshell或者securecrt等具有sftp檔案傳輸功能的軟體,在伺服器端安裝好sftp服務並啟動,就可以用sftp傳輸檔案了!from 舉例,如遠端主機的 ip 是 202.206.64.33或者是網域名稱www.hebust.edu.cn,使用者名稱是 fyt 在命令列模...