編程vdm
『壹』 英語翻譯 計算機的
Disk
access arm 磁頭臂,存取臂
access time 存取時間
adder 加法器
address 地址
alphanumeric 字母數字的
analog computer 模擬計算機
analyst 分析員
area 區域
array 數組,陣列
assembler 匯編程序
automation 自動化
band 區
batch processing 成批處理
binary code 二進制碼
binary digit 二進制位,二進制數字
bit 比特,二進制的一位
branch 分支,支線
brush 電刷
buffer storage 緩沖存儲器
calculator 計算器
call instruction 呼叫指令
card punch 卡片穿孔機
card reader 卡片閱讀機,讀卡機
cell 單元
channel 通道,信道
character 字元
check digit 校驗數位
circuit 電路,線路
to clear 清除,清零
clock 時鍾
code 代碼
to code 編碼
coder 編碼員,編碼器
command 指令,命令
compiler 編譯程序
computer language 計算機語言
console 控制台
control unit 控制部件,控制器
core storage, core store 磁心存儲器
counter 計數器
cybernetics 控制論
cycle 循環
data 數據
data processing 數據處理
debugging 調試
decision 制定
digit 數字,數位,位
digital computer 數字計算機
disc, disk 磁碟
display unit 顯示裝置
drum 磁鼓
to edit 編輯
electronics 電子學
emitter 發射器
to encode 編碼
to erase 擦除,清洗,抹除
feed 饋送,供給
to feed 饋送,供給
feedback 反饋
field 欄位,信息組,域
file 文件
floppy disk 軟磁碟
floppy disk drive 軟磁碟機
flow chart 流程圖
frame 幀
hardware 硬體
identifier 標識符
index 索引
information 信息
inline processing 內處理
input 輸入
inquiry 詢問
instruction 指令
integrated circuit 集成電路
to interpret 解釋
item 項目,項
jump 轉移
key 鍵,關鍵碼
keyboard 鍵盤
latency time 等待時間
希望能對樓主有用。
『貳』 proteus與KEIL怎麼連接不上,裝了VDM Serbver,是怎麼回事
不需要連啊
直接用KEIL編程成HEX格式,在proteus中運行即可啊
『叄』 請教 ".imsq"
兄台,對不住了,我找了一個上午都沒有找到什麼頭緒!
呵呵。。。。
不過我看了一些文章,你所說的「imsq」的後綴文件名,是不是電信用用的一種網路形式,應該跟最新電信開發的一種IMS網路結構有關系吧,小弟孤陋寡聞,實在是找不到關於此問題的答案,我會進一步去為你查找的,,我一定要找個所以然來。。。。waiting for me
『肆』 exe文件是什麼文件
EXE File是可執行文件,可移植可執行 (PE) 文件格式的文件,它可以載入到內存中,並由操作系統載入程序執行,是可在操作系統存儲空間中浮動定位的可執行程序。如記事本程序notepad.exe ,可以用來編輯文檔,如:測試.txt雙擊打開notepad.exe記事本程序來進行編輯處理。EXE File 可執行程序 一種可在操作系統存儲空間中浮動定位的可執行程序。MS-DOS和MS-WINDOWS下,此類文件擴展名為.exe。
(4)編程vdm擴展閱讀:
EXE文件分為兩個部分: EXE文件頭和程序本體。exe文件比較復雜,屬於一種多段的結構,是DOS最成功和復雜的設計之一。每個exe文件包含一個文件頭和一個可重定位程序的映像。文件頭包含MS-DOS用於載入程序的信息,例如程序的大小和寄存器的初始值。
文件頭還指向一個重定位表,該表包含指向程序映像中可重定位段地址的指針鏈表。MS-DOS通過把該映像直接從文件復制到內存載入exe程序,然後調整定位表中說明的可重定位段地址。定位表是一個重定位指針數組,每個指向程序映像中的可重定位段地址。
『伍』 編程語言有多少種
不下200種 可以在維基網路搜索List_of_programming_languages
網路貼不了wiki的地址,大概是壟斷吧
A+BAT
A+
A++
A# .NET
A# (Axiom)
A-0
ABAP
ABC
ABC ALGOL
ABLE
ABSET
ABSYS
ACC
Accent
ActionScript
Ace DASL
ACT-III
Ada
APL
AWK
B
BACI
Baja
BASIC
bc
bcompile
BCPL
BeanShell
BETA
Bigwig
Big Snake
Bistro
BLISS
Blitz Basic
Block And List Manipulation (BALM)
Blue - Rejected prototype for Ada
Blue
Boo
Bourne shell - a.k.a sh
Bourne-Again shell - see Bash
Boxx
BPEL - Business Process Execution Language
Brainfuck
BUGSYS
BuildProfessional
BYOND
C
C--
C-script
C++ - ISO/IEC 14882
C# - ISO/IEC 23270
C shell (csh)
Caché ObjectScript - See also Caché Basic
Caml
Cat
Cayenne
C-BOT
Cecil
Cesil
Cg
Ch interpreter (C/C++ interpreter Ch)
Chapel
CHAIN
Charity
Chef
Chey
CHILL
CHIP-8
chomski
Chrome
ChucK
Cilk
CICS
CL
Clarion
Clean
Clipper
CLIST - Programming language for online applications in the MVS TSO environment
CLU
CMS-2
COBOL - ISO/IEC 1989
CobolScript
Cobra
CODE
ColdFusion
COMAL
Common Intermediate Language (CIL)
Common Lisp
Component Pascal
COMIT - List or string processing language
Concurrent Clean
Constraint Handling Rules
CORAL66
Corn
CorVision
COWSEL
CPL
CSP
Csound
Cue
Curl
Curry
Cyclone
D
Dao
DASL - Distributed Application Specification Language
DASL - Datapoint's Advanced Systems Language
DarkBASIC
DarkBASIC Professional
Dataflex
Datalog
dBASE
dc
Deesel (formerly G)
Delphi
Dialect
DinkC
DCL
Dialog Manager
DIBOL
DL/I
Dream Maker
Dylan
Dynace
E
Ease
EASY
Easy PL/I
EASYTRIEVE PLUS
eC (Ecere C)
ECMAScript
eDeveloper
Edinburgh IMP
Einstein
Eiffel
Elan
elastiC
Elf
Emacs Lisp
EGL Programming Language (EGL)
Epigram
Erlang
Escapade - server-side programming
Esterel
Euclid
Euphoria
Euler
EXEC
EXEC2
F
F#
Factor
Fan
Felix
Ferite
F#
FL
FLOW-MATIC
FOCAL
FOCUS
FOIL
FORMAC
Formula language
Forth
Fortran - ISO/IEC 1539
Fortress
FoxPro
FP
Frag Script
Franz Lisp
Frink
Frontier
F-Script
Gambas
G-code
General Algebraic Modeling System
Generic Java
Gibiane
G (LabVIEW)
Gödel
Godiva
GOTRAN (see IBM 1620)
GOTO++
GPSS
GraphTalk
GRASS
Green
Groovy
H - Business processing language from NCR.
HAL/S - Real-time aerospace programming language
HAScript
Haskell - An advanced functional programming language
HaXe - Open Source language which can compile to four different platforms, including PHP and Flash
HyperTalk
IBM Basic assembly language
IBM RPG
ICI
Icon
IDL
IMP
Inform
Information Processing Language (IPL)
Informix-4GL
Io
IPTSCRAE
Interactive System Proctivity Facility
J
J#
J++
JADE
JAG
Jal
Janus
Java
JavaScript
Jim++
JCL
Join Java
JOSS
Joule
JOVIAL
Joy
JScript
JSP
J2EE
J2ME
K
KEE
Kiev
Korn Shell
KIF
Kite
Kogut
KRC
KRL
KRYPTON
L
LabVIEW
Lagoona
LANSA
Lasso
Lava
Leda
Lead
Leadwerks Script
Legoscript
Leopard
Lexico
Lfyre
Liberty BASIC
Limbo
Limnor
LINC
Lingo
Lisaac
Lisp - ISO/IEC 13816
Lite-C
Logo
LOLCODE
LPC
LSL
LSE
Lua
Lucid
Lush
Lustre
LYaPAS
LSL
M4
MAD
MADCAP
MAGIC - See eDeveloper
Magik
Magma
MapBasic
Maple
MAPPER (Unisys/Sperry) now part of BIS
M-A-R-E-K (Programming language)
MARK-IV (Sterling/Informatics) now VISION:BUILDER of CA
Mary
Mathematica
MATLAB
MATA
Maxima (see also Macsyma)
MaxScript internal language 3D Studio Max
Maya (MEL)
Multiprocessor C#
Mercury
Mesa
METAL
Michigan Algorithm Decoder see MAD programming language
Microcode
MicroScript
MillScript
MIMIC
Mindscript
Miranda
Miva
ML
Moby
MODCAP
Model 204 User Language
Mola
Mola-2
Mola-3
Mondrian
Mortran
Moto
MOUSE
MSIL - Deprecated name for Common Intermediate Language
MSL
MONO
MUMPS
Napier88
Natural
Nemerle
NESL
Net.Data
Neuralware
NewtonScript
NGL
Nial
NXT-G
Nice
Nickle
Nosica
NQC
Nu
o:XML
Oberon
Objective Mola-2
Object Lisp
ObjectLOGO
Object Pascal
Objective-C
Objective Caml
Obliq
Objectstar
ObjectView
Ocaml
occam
occam-π
Octave
OmniMark
Opal
Open programming language
OPS5
Organiser Programming Language (OPL) - cf. Psion Organiser
Oxygene
Oz
PARI/GP
Parser
Pascal - ISO 7185
Pawn
PBASIC
PCASTL
PEARL
Perl
Perl Data Language
PHP
Pico
Piet
Pike
PIKT
PILOT
Pizza
PL 11
PL/0
PL/8
PL/B
PL/C
PL/I - ISO 6160
PL/M
PL/P
PL/SQL
Plankalkül
PLD
PLEX
PLEXIL
Pliant
PNGlish
PPL
POP-11
Poplog
PORTRAN
PostScript
Ppc++
Processing
Prograph
Progress 4GL
Prolog
Turbo Prolog
Promela
Protheus
PRO-IV
Python
Q
Qi
QtScript
QuakeC
QPL
Quikcomp (for the Moonrobot XI)
R
R++ - Based on C++ and added semanteme description
Rascal
Ratfiv
Ratfor
RBScript
rc
REPL - Really Easy Programming Language
REBOL - Relative Expression Based Object Language
Red - Rejected prototype for Ada
Redcode
REDO
REFAL
Revolution
REXX
Rigal
Rlab
Robot Scripting Language (RSL)
RPG - Report Program Generator
RPL
RScript
Ruby
Russell Programming Language
REALBasic
S
S2
S-PLUS
S-Lang
SAIL
SAKO
SAM76
SAS
Sather
Scala
ScalPL
SCAR
SCATRAN
Scheme
Scilab
Script.NET
Sed
Seed7
Self
SETL
Shadow Programming Interface (Developing)
ShadowScript
Shift Script
SIGNAL
SiMPLE
SIMPOL
SIMSCRIPT
Simula
SISAL
Slate
SLIP
SMALL - SMALL Machine Algol Like Language
Small
Smalltalk
SNOBOL - String Oriented Symbolic Language
SPITBOL
Snowball
SPARK
Spice
SPIN
SP/k
SPL/1 - aka SPL/I
SPS (1620) - see IBM 1620
Squirrel
SR
SSL
Standard ML
StringLang
Subtext
SuperCollider
Suneido
SYMPL
SyncCharts
Synergy/DE
SystemVerilog
T
TACL
TACPOL
TagsMe
TADS
TIE
Transaction Application Language
Tcl
Transact-SQL
teco
TELCOMP
Telon
Tempo
thinBasic
Titanium
TI-Basic
Today
Tom
TOM
Topspeed - see Clarion
TorqueScript
tpu
Trac
Trine
TTCN
Turbo Pascal
Turing
TUTOR\
Tutorial D
TXL
Ubercode
Ultra 32
Unicon
Uniface
Unix shell
Unlambda
UnrealScript
Use
V
Vala
VDM++
VDM-SL
Verilog
VHDL
Visual Assembler
Visual Basic - Visual Beginners All-purpose Symbolic Instruction Code
Visual Basic .NET
Visual DataFlex
Visual DialogScript
Visual FoxPro
Visual J++
Visual Objects
VBScript
VX-REXX
Vvvv
Water
WATFOR - see WATFIV
WATFIV
WAXHTML
WebQL
Whitespace
Winbatch
WinDev
Windows PowerShell
X++
X10
Xbase++ 32Bit Windows language
XBL
xbScript - Also xBaseScript
xHarbour
XL
XOTcl
XPL
XPL0
XQuery
XSLT - See XPath
Y
YACC
YAFL
Yellow - Rejected prototype for Ada
Yorick
Y
Z++
Z notation - A program specification language, like UML.
Zonnon
ZOPL
ZPL
『陸』 我已經安裝了Labview2011和VDM模塊,請問怎麼才能採集到普通USB圖像,需要再安裝什麼模塊嗎
先在MAX中看看你的攝像頭能否使用。再打開範例查找器中的相關範例看看IMAQ怎麼用。單純採集圖像其實挺簡單的。
=================VBAI, VAS 和 VDM之間有什麼不同(摘自NI官網)=================
Vision Development Mole(視覺開發模塊)
該模塊可作為LabVIEW或者是文本編輯環境 .NET 以及LabWindows CVI 的插件使用。
該工具提供在LabVIEW編程環境下使用多種圖像處理以及識別的函數及功能。
附帶的工具包 Vision Assistant 同VBAI十分相似,但是使用它設計的視覺識別程序可以方便的轉換為LabVIEW的代碼。
可以運行遠程的目標如CVS (Compact Vision System),但是除了LabVIEW之外還需要使用LabVIEW RealTime。
Vision Builder for Automated Inspection(用於自動檢測的視覺生成器)
通常被稱之為VBAI,該程序是一個可以獨立運行的程序。編程和操作界面同Vision Assistant相似,但是不可以把程序轉換為LabVIEW,只能在其環境下。
VBAI 程序可以在遠程目標設備如CVS上運行。
Vision Acquisition Software(視覺獲取軟體)
用於捕獲圖像的一系列驅動程序。舉例來說,該軟體在Windows平台下的8.2.3版本包含了NI-IMAQ 3.7.1 和 NI-IMAQdx 3.0.1 (包括了對IEEE 1394 相機的支持),以及NI-IMAQ I/O 2.0.2 驅動程序。
包含了在LabVIEW中所使用到的基本視覺獲取VIs。基本的視覺圖像獲取以及文件存儲之外的功能需要安裝VDM。
Vision Acquisition Software 是包含在Vision Development Mole,Vision Builder for Automated Inspection 以及所有的NI圖像獲取的軟體中的。
『柒』 寶馬x3定速巡航控制燈亮了是怎麼回事
【太平洋汽車網】寶馬x3定速巡航控制燈亮了說明定速巡航功能已經被激活啟用了,汽車的定速巡航功能正處於開啟的狀態,配置有定速巡航的原因是為了減輕駕駛員的疲勞,避免發動機轉速波動,提高燃料經濟性,同時准確控制汽車行駛速度,避免超速。
一輛行駛里程約11.3萬km、配置N52發動機的2011年寶馬X3。客戶反映:該車儀表會亮故障燈「轉彎性能受到影響」,中央顯示屏顯示「動態減震控制系統」,如圖
1、圖2所示。在綜合修理廠更換了右前減震器,行駛一段時間後儀表還是會報故障。
故障診斷:接車後試車,發現打開點火開關後儀表就會報故障。使用ISTA(寶馬原廠診斷系統,以下簡稱ISTA)診斷,存有VDM(垂直動態管理系統,以下簡稱VDM)無通信故障。檢查發現後備箱右側VDM安裝處有進水;VDM針腳有腐蝕。懷疑VDM泡水造成內部損壞。向客戶報價,客戶同意更換。訂貨,處理VDM處泡水的插頭線束,更換VDM編程、底盤高度匹配,試車,確認故障排除後交車。
時隔半個月,客戶返廠反映故障燈又亮了,接車後發現故障現象與上次一致,打開點火開關儀表報故障,中央顯示屏顯示「動態減震控制系統故障」。經ISTA診斷存有故障碼(如圖3所示):EDC:垂直加速感測器一左前一數值不可信EDC:垂直加速感測器一右前一數值不可信檢查4支減震器上的EDC(減震器衛星式控制單元,以下簡稱EDC)插頭針腳,未發現異常;測量左前、右前的EDC的供電5V正常,測量搭鐵正常,車輛信號未見異常;測量減震電磁閥供電和搭鐵正常,插頭針腳都未見異常。測量左前、右前、左後、右後電磁閥線圈電阻均為5.3Ω。
檢查信號和執行器都是正常的,刪除故障碼,需要行駛很長一段路程可以重現故障,故障一旦出現,打開點火開關後儀表和中央顯示器就會報故障。到底哪裡出現遺漏了呢?查閱維修歷史發現每次出現故障時,ISTA診斷都存有故障碼:0X4809ABDSC:車輛中電壓過低0X482947EDC:垂直加速感測器一右前一數值不可信檢查VDM供電線23針腳有點松,於是調整針腳的松緊,如圖
4、圖5所示。
【1】【2】【3】下一頁關鍵詞:寶馬X3分享到:QQ空間新浪微博騰訊微博人人網網易微博相關閱讀寶馬X3動態減震控制系統亮故障燈檢修寶馬X3行駛中發動機故障燈突然點亮寶馬X3發動機噪音大、機油溫度過低寶馬X3行駛中自動熄火且加速無力檢修寶馬X3胎壓等多個報警燈常亮檢修寶馬X3泊車距離報警故障檢修寶馬X3發動機偶爾抖動、故障燈點亮寶馬X3儀錶板中發動機故障燈亮上一文章:路虎發現運動插電式混合動力系統技術亮點
(一)下一文章:賓士E260轎車發動機故障燈亮【返回上一頁】 【列印】
(圖/文/攝:太平洋汽車網問答叫獸)
『捌』 進程管理 os編程
創建進程的api函數
BOOL CreateProcess(
LPCWSTR pszImageName,
LPCWSTR pszCmdLine,
LPSECURITY_ATTRIBUTES psaProcess,
LPSECURITY_ATTRIBUTES psaThread,
BOOL fInheritHandles,
DWORD fdwCreate,
LPVOID pvEnvironment,
LPWSTR pszCurDir,
LPSTARTUPINFOW psiStartInfo,
LPPROCESS_INFORMATION pProcInfo
);
Parameters
pszImageName
[in] Pointer to a null-terminated string that specifies the mole to execute.
The string can specify the full path and filename of the mole to execute or it can specify a partial path and filename.
The lpszImageName parameter must be non-NULL and must include the mole name.
pszCmdLine
[in, out] Pointer to a null-terminated string that specifies the command line to execute.
The system adds a null character to the command line, trimming the string if necessary, to indicate which file was used.
The lpszCmdLine parameter can be NULL. In that case, the function uses the string pointed to by lpszImageName as the command line.
If lpszImageName and lpszCmdLine are non-NULL, * lpszImageName specifies the mole to execute, and * lpszCmdLine specifies the command line.
C runtime processes can use the argc and argv arguments.
If the filename does not contain an extension, .EXE is assumed.
If the filename ends in a period (.) with no extension, or if the filename contains a path, .EXE is not appended.
psaProcess
[in] Not supported; set to NULL.
psaThread
[in] Not supported; set to NULL.
fInheritHandles
[in] Not supported; set to FALSE.
fdwCreate
[in] Specifies additional flags that control the priority and the creation of the process.
The following creation flags can be specified in any combination, except as noted.
Value Description
CREATE_DEFAULT_ERROR_MODE Not supported.
CREATE_NEW_CONSOLE The new process has a new console, instead of inheriting the parent's console.
CREATE_NEW_PROCESS_GROUP Not supported.
CREATE_SEPARATE_WOW_VDM Not supported.
CREATE_SHARED_WOW_VDM Not supported.
CREATE_SUSPENDED The primary thread of the new process is created in a suspended state, and does not run until the ResumeThread function is called.
CREATE_UNICODE_ENVIRONMENT Not supported.
DEBUG_PROCESS If this flag is set, the calling process is treated as a debugger, and the new process is a process being debugged. Child processes of the new process are also debugged.
The system notifies the debugger of all debug events that occur in the process being debugged.
If you create a process with this flag set, only the calling thread (the thread that called CreateProcess) can call the WaitForDebugEvent function.
DEBUG_ONLY_THIS_PROCESS If this flag is set, the calling process is treated as a debugger, and the new process is a process being debugged. No child processes of the new process are debugged.
The system notifies the debugger of all debug events that occur in the process being debugged.
DETACHED_PROCESS Not supported.
INHERIT_CALLER_PRIORITY If this flag is set, the new process inherits the priority of the creator process.
Windows CE does not support the concept of a priority class. The priority of a thread is the only parameter that determines a thread's scheling priority.
pvEnvironment
[in] Not supported; set to NULL.
pszCurDir
[in] Not supported; set to NULL.
psiStartInfo
[in] Not supported; set to NULL.
pProcInfo
[out] Pointer to a PROCESS_INFORMATION structure that receives identification information about the new process.
Return Values
Nonzero indicates success.
Zero indicates failure.
To get extended error information, call GetLastError.
Remarks
In addition to creating a process, it also creates a thread object.
The size of the initial stack for the thread is described in the image header of the specified program's executable file.
The thread begins execution at the image's entry point.
The new process and the new thread handles are created with full access rights. For either handle, the handle can be used in any function that requires an object handle to that type.
The process is assigned a 32-bit process identifier. The identifier is valid until the process terminates. It can be used to identify the process, or specified in the OpenProcess function to open a handle to the process.
The initial thread in the process is also assigned a 32-bit thread identifier. The identifier is valid until the thread terminates and can be used to uniquely identify the thread within the system. These identifiers are returned in the PROCESS_INFORMATION structure.
The following list shows the directories indicated by the pszImageName parameter in the order that Windows CE searches them:
The windows (\windows) directory
The root (\) directory of the device
An OEM-dependent directory, which include the Windows CE Debug shell directory for Platform Builder users only
The following list shows the directories indicated by the pszImageName parameter in the order that Windows CE 2.10 and later search them:
The windows (\windows) directory
The root (\) directory of the device
An OEM-dependent directory
The OEM-defined shell (\ceshell) directory (Platform Builder users only)
The following list shows the directories indicated by the pszImageName parameter in the order Windows CE 1.0 through 2.01 search them:
The root of the PC Card, if it exists
The windows (\windows) directory
The root (\ ) directory of the device
When specifying an application name in the pszImageName string, it does not matter whether the application name includes the filename extension.
Do not call CreateProcess from a DllMain function. This causes the application to stop responding.
The following registry subkey specifies a search path to use with the LoadLibrary function and CreateProcess:
HKEY_LOCAL_MACHINE\Loader
"SystemPath" = multi_sz:"\\path1\\"
"\\path2\\"
For efficiency, the path is searched before CESH but after the ROM and built in file systems. The path is only searched if the path of the file being looked for is not explicitly specified.
If the length of the SystemPath value exceeds 260 characters, the path is ignored. A change to the SystemPath key does not take effect until a Windows CE-based device is reset.
ExitThread, CreateThread, and a process that is starting (as the result of a call by CreateProcess) are serialized between each other within a process. Only one of these events can happen in an address space at a time. The following list shows the restrictions ring the process:
During process startup and DLL initialization routines, new threads can be created but they do not begin execution until DLL initialization is completed.
In a process, only one thread at a time can be in a DLL initialization or detach routine.
The created process remains in the system until all threads within the process are terminated and all handles to the process and its threads are closed through calls to CloseHandle.
The handles for the process and the main thread must be closed through calls to CloseHandle. If these handles are not needed, close them immediately after the process is created.
The following events occur when the last thread in a process terminates:
All objects opened by the process are implicitly closed.
The process's termination status, which is returned by GetExitCodeProcess, changes from its initial value of STILL_ACTIVE to the termination status of the last thread to terminate.
The thread object of the main thread is set to the signaled state, satisfying threads that were waiting on the object.
The process object is set to the signaled state, satisfying threads that were waiting on the object.
The handle returned by the CreateProcess function has PROCESS_ALL_ACCESS access to the process object.
Requirements
OS Versions: Windows CE 1.0 and later.
Header: Winbase.h.
Link Library: Coredll.lib.
創建線程的api函數
HANDLE CreateThread(
LPSECURITY_ATTRIBUTES lpsa,
DWORD cbStack,
LPTHREAD_START_ROUTINE lpStartAddr,
LPVOID lpvThreadParam,
DWORD fdwCreate,
LPDWORD lpIDThread
);
Parameters
lpsa
[in] Ignored. Must be NULL.
cbStack
[in] Ignored unless the STACK_SIZE_PARAM_IS_A_RESERVATION flag is used; in that case the cbStack parameter specifies the virtual memory reserved for the new thread.
When ignored, the default stack size for a thread is determined by the linker setting /STACK.
lpStartAddr
[in] Long pointer to the application-defined function of type LPTHREAD_START_ROUTINE to be executed by the thread; represents the starting address of the thread. For more information on the thread function, see ThreadProc.
Note It is invalid to set lpStartAddr to NULL. If this value is passed in the parameter, the function will return ERROR_INVALID_PARAMETER.
lpvThreadParam
[in] Long pointer to a single 32-bit parameter value passed to the thread.
fdwCreate
[in] Specifies flags that control the creation of the thread.
The following table shows the values for this parameter.
Value Description
CREATE_SUSPENDED The thread is created in a suspended state and does not run until the ResumeThread function is called.
The thread can be run immediately after creation if the flag is not specified.
STACK_SIZE_PARAM_IS_A_RESERVATION The cbStack parameter specified the maximum stack size instead of being ignored.
This is a Windows CE only flag for the CreateThread function and is used to reserve the stack size for the thread created.
By default, a thread is created with 64 KB stack reserved. You can use this flag to increase the stack size for the new thread that was created.
lpIDThread
[out] Long pointer to a 32-bit variable that receives the thread identifier.
If this parameter is NULL, the thread identifier is not returned.
Return Values
A handle to the new thread indicates success.
NULL indicates failure.
To get extended error information, call GetLastError.
Remarks
The number of threads a process can create is limited by the available virtual memory and depends on the default stack size.
If every thread has 1 MB of stack space, you can create a maximum of 32 threads.
If you rece the default stack size, you can create more threads.
Your application will perform better if you create one thread per processor and build queues of requests for which the application maintains the context information. That is because a thread processes all requests in a queue before processing requests in the next queue.
The new thread handle is created with THREAD_ALL_ACCESS to the new thread. The handle can be used in any function that requires a thread object handle.
Thread execution begins at the function specified by the lpStartAddr parameter. If this function returns, the DWORD return value is used to terminate the thread in an implicit call to the ExitThread function. Use the GetExitCodeThread function to get the thread's return value.
If the start address is invalid when the thread runs, an exception occurs, and the thread terminates. Thread termination e to a invalid start address is handled as an error exit for the thread's process. This behavior is similar to the asynchronous nature of CreateProcess, where the process is created even if it refers to invalid or missing .dll files.
The thread is created with a thread priority of THREAD_PRIORITY_NORMAL.
Use the GetThreadPriority and SetThreadPriority functions to get and set the priority value of a thread.
When a thread terminates, the thread object attains a signaled state, satisfying threads that were waiting on the object.
The thread object remains in the system until the thread has terminated and all handles to it are closed through a call to CloseHandle.
The ExitThread function, CreateThread function, and a process that is starting (as the result of a call by CreateProcess) are serialized between each other within a process. Only one of these events can happen in an address space at a time.
The following list shows the restrictions ring the process:
During process startup and DLL initialization routines, threads can be created, but they do not begin execution until DLL initialization is done for the process.
In a process, only one thread at a time can be in a DLL initialization or detach routine.
Requirements
OS Versions: Windows CE 1.01 and later.
Header: Winbase.h.
Link Library: Coredll.lib.