Microsoft Windows library files
માઈક્રોસોફ્ટ વિન્ડોઝ ઓપરેટિંગ સિસ્ટમ "ડાયનેમિક-લિંક લાઈબ્રેરીઓ" તરીકે ઓળખાતી વહેંચાયેલ લાઈબ્રેરીઓના એક સ્વરૂપને ટેકો આપે છે, જે કોડ લાઈબ્રેરીઓ છે જેનો ઉપયોગ બહુવિધ પ્રક્રિયાઓ દ્વારા કરી શકાય છે જ્યારે માત્ર એક જ નકલ મેમરીમાં લોડ થાય છે. આ લેખ મુખ્ય પુસ્તકાલયોની ઝાંખી પ્રદાન કરે છે જે દરેક આધુનિક વિન્ડોઝ ઇન્સ્ટોલેશન સાથે સમાવિષ્ટ છે, જેની ટોચ પર મોટાભાગની વિન્ડોઝ એપ્લિકેશનો બનાવવામાં આવે છે. આંતરિક ઘટકો HAL.DLL એ કર્નલ-મોડ લાઇબ્રેરી ફાઇલ છે અને તેનો ઉપયોગ કોઈપણ વપરાશકર્તા-મોડ પ્રોગ્રામ દ્વારા કરી શકાતો નથી. NTDLL.DLL નો ઉપયોગ ફક્ત કેટલાક પ્રોગ્રામ્સ દ્વારા થાય છે, પરંતુ તે પ્રોગ્રામ્સ દ્વારા ઉપયોગમાં લેવાતી મોટાભાગની વિન 32 લાઈબ્રેરીઓની નિર્ભરતા છે. HAL.DLL વિન્ડોઝ હાર્ડવેર એબ્સ્ટ્રેક્શન લેયર (HAL) hal.dll માં લાગુ કરવામાં આવે છે. એચએએલ સંખ્યાબંધ કાર્યોનો અમલ કરે છે જે વિવિધ હાર્ડવેર પ્લેટફોર્મ્સ દ્વારા વિવિધ રીતે અમલમાં મૂકવામાં આવે છે, જે આ સંદર્ભમાં મોટે ભાગે ચિપસેટનો સંદર્ભ આપે છે. ઓપરેટિંગ સિસ્ટમના અન્ય ઘટકો પછી વાસ્તવિક અમલીકરણને ધ્યાનમાં લીધા વિના, આ કાર્યોને તમામ પ્લેટફોર્મ પર સમાન રીતે કૉલ કરી શકે છે. ઉદાહરણ તરીકે, એડવાન્સ્ડ પ્રોગ્રામેબલ ઇન્ટરપ્ટ કંટ્રોલર (એપીઆઇસી) વાળા મશીન પર વિક્ષેપનો જવાબ આપવો એ વિક્ષેપ વગરના મશીન કરતાં તદ્દન અલગ છે. એચએએલ આ હેતુ માટે એક જ કાર્ય પ્રદાન કરે છે જે વિવિધ ચિપસેટ દ્વારા તમામ પ્રકારના વિક્ષેપો સાથે કામ કરે છે, જેથી અન્ય ઘટકોને તફાવતો સાથે ચિંતિત થવાની જરૂર ન પડે. એચ. એ. એલ. ને કર્નલ એડ્રેસ સ્પેસમાં લોડ કરવામાં આવે છે અને તે કર્નલ મોડમાં ચાલે છે, તેથી એચ. એ. એલ. માં દિનચર્યાઓ સીધી એપ્લિકેશનો દ્વારા કૉલ કરી શકાતી નથી, અને કોઈ પણ વપરાશકર્તા મોડ API સીધા એચ. એ. એલ. દિનચર્યાઓને અનુરૂપ નથી. તેના બદલે, એચ. એ. એલ. મુખ્યત્વે વિન્ડોઝ એક્ઝિક્યુટિવ અને કર્નલ અને કર્નલ મોડ ડિવાઇસ ડ્રાઇવરોને સેવાઓ પૂરી પાડે છે. જો કે મોટાભાગના હાર્ડવેર માટેના ડ્રાઇવરો અન્ય ફાઇલોમાં સમાયેલ હોય છે, સામાન્ય રીતે ફાઇલ પ્રકાર. sys, કેટલાક મુખ્ય ડ્રાઇવરોને hal.dll માં સંકલિત કરવામાં આવે છે. પીસીઆઈ અને પીસીઆઈ એક્સપ્રેસ જેવી બસો પરના ઉપકરણો માટે કર્નલ મોડ ડિવાઇસ ડ્રાઇવરો તેમના ઉપકરણોના આઈ/ઓ પોર્ટ અને રજિસ્ટરને ઍક્સેસ કરવા માટે સીધા એચએએલમાં દિનચર્યાઓને કૉલ કરે છે. ડ્રાઇવરો એચ. એ. એલ. ની દિનચર્યાઓનો ઉપયોગ કરે છે કારણ કે વિવિધ પ્લેટફોર્મને આ કામગીરીના વિવિધ અમલીકરણની જરૂર પડી શકે છે. એચએએલ દરેક પ્લેટફોર્મ માટે યોગ્ય રીતે કામગીરીનો અમલ કરે છે, તેથી સમાન ડ્રાઇવર એક્ઝેક્યુટેબલ ફાઇલનો ઉપયોગ સમાન સીપીયુ આર્કિટેક્ચરનો ઉપયોગ કરીને તમામ પ્લેટફોર્મ પર કરી શકાય છે, અને ડ્રાઇવર સ્રોત ફાઇલ તમામ આર્કિટેક્ચરમાં પોર્ટેબલ હોઈ શકે છે. વિન્ડોઝ 8 પહેલાંની x86 સિસ્ટમો પર, ઇન્સ્ટોલેશન મીડિયા પર ઘણી જુદી જુદી HAL ફાઇલો હોય છે. વિન્ડોઝ ઇન્સ્ટોલેશન પ્રક્રિયા નક્કી કરે છે કે વર્તમાન પ્લેટફોર્મ માટે કયા યોગ્ય છે અને તેને હાર્ડ ડ્રાઇવમાં નકલ કરે છે, જો જરૂરી હોય તો તેનું નામ બદલીને hal.dll કરે છે. આ પસંદગી માટેના માપદંડોમાં નીચેનાનો સમાવેશ થાય છેઃ એ. સી. પી. આઈ.-સુસંગત બી. આઈ. ઓ. એસ. ની હાજરી, એ. પી. આઈ. સી. ની હાજરી અને બહુવિધ પ્રોસેસરો હાજર અને સક્ષમ છે કે નહીં. (મલ્ટી-કોર સીપીયુના બહુવિધ કોર, અને હાઇપરથ્રેડિંગ સીપીયુ દ્વારા અમલમાં મૂકાયેલા "લોજિકલ પ્રોસેસર્સ" પણ, આ હેતુ માટે "પ્રોસેસર્સ" તરીકે ગણવામાં આવે છે.) x 86-64 અને આઇટેનીયમ પ્લેટફોર્મ પર દરેક CPU આર્કિટેક્ચર માટે માત્ર એક શક્ય hal.dll છે. વિન્ડોઝ 8 અને તેના પછીના વર્ઝન x86માં પણ માત્ર એક જ HAL છે. એચ. એ. એલ. ને વિન્ડોઝ 10 ની આવૃત્તિ 2004 થી શરૂ કરીને ntoskrnl.exe માં મર્જ (અથવા સ્થિર રીતે જોડાયેલ) કરવામાં આવે છે, અને ડી. એલ. એલ. માત્ર પછાત સુસંગતતા માટે સ્ટબ તરીકે કામ કરે છે. NTDLL.DLL NTDLL.DLL વિન્ડોઝ નેટિવ API નિકાસ કરે છે. મૂળ API એ ઓપરેટિંગ સિસ્ટમના વપરાશકર્તા-મોડ ઘટકો દ્વારા ઉપયોગમાં લેવાતું ઇન્ટરફેસ છે જે વિન 32 અથવા અન્ય API સબસિસ્ટમ્સના સમર્થન વિના ચાલવું આવશ્યક છે. આમાંના મોટાભાગના API ને NTDLL.DLL માં અને ntoskrnl.exe (અને તેના પ્રકારો) ની ઉપરની ધાર પર લાગુ કરવામાં આવે છે, અને આ લાઈબ્રેરીઓમાં નિકાસ કરાયેલા મોટાભાગના પ્રતીકો Nt ઉપસર્ગવાળા હોય છે, ઉદાહરણ તરીકે NtDisplaySting. મૂળ API નો ઉપયોગ KERNEL32.DLL દ્વારા નિકાસ કરાયેલા ઘણા "કર્નલ API" અથવા "બેઝ API" ને અમલમાં મૂકવા માટે પણ થાય છે. મોટાભાગની વિન્ડોઝ એપ્લિકેશનો સીધા NTDLL.DLL પર કૉલ કરતી નથી. આ લાઈબ્રેરીની સામે સીધી રીતે જોડાયેલી એપ્લિકેશનો મૂળ સબસિસ્ટમનો ઉપયોગ કરતી હોવાનું કહેવાય છે; તેમના અસ્તિત્વનું પ્રાથમિક કારણ એ છે કે વિન 32 સબસિસ્ટમ ઉપલબ્ધ થાય તે પહેલાં સિસ્ટમ સ્ટાર્ટઅપ ક્રમમાં શરૂઆતમાં ચાલવું આવશ્યક હોય તેવા કાર્યો કરવા. એક સ્પષ્ટ પરંતુ મહત્વપૂર્ણ ઉદાહરણ વિન 32 સબસિસ્ટમ પ્રક્રિયા, csrss.exe ની રચના છે. csrss.exe પ્રક્રિયા અસ્તિત્વમાં છે તે પહેલાં, કોઈ વિન 32 પ્રક્રિયાઓ બનાવી શકાતી નથી, તેથી જે પ્રક્રિયા તેને બનાવે છે (Smss.exe, "સત્ર વ્યવસ્થાપક") તેણે મૂળ સબસિસ્ટમનો ઉપયોગ કરવો જ જોઇએ. csrss.exe પોતે જ આવી જ એક એપ્લિકેશન છે. ". exe" ફાઇલ એક્સ્ટેંશન હોવા છતાં, મૂળ એપ્લિકેશનો વપરાશકર્તા (અથવા વિન 32 અથવા અન્ય સબસિસ્ટમ્સમાંના કોઈપણ પ્રોગ્રામ) દ્વારા ચલાવી શકાતા નથી. એક ઉદાહરણ autochk.exe દ્વિસંગી છે જે સિસ્ટમ આરંભીકરણ "બ્લુ સ્ક્રીન" દરમિયાન chkdsk ચલાવે છે. અન્ય અગ્રણી ઉદાહરણો એવી સેવાઓ છે જે વિવિધ પેટા પ્રણાલીઓનો અમલ કરે છે, જેમ કે csrss.exe. વિન32 એપ્લિકેશનોથી વિપરીત, મૂળ એપ્લિકેશનો કર્નલ રનટાઇમ કોડ (ntoskrnl.exe) ની અંદર ત્વરિત હોય છે અને તેથી તેમની પાસે એક અલગ એન્ટ્રી પોઇન્ટ હોવો આવશ્યક છે (વિન32 એપ્લિકેશનમાં જોવા મળતા (ડબલ્યુ) (વિન) મેઇનસીઆરટીસ્ટાર્ટઅપને બદલે એન. ટી. પ્રોસેસસ્ટાર્ટઅપ), તેમની કમાન્ડ-લાઇન દલીલો પોઇન્ટર દ્વારા ઇન-મેમરી સ્ટ્રક્ચરમાં મેળવો, આર. ટી. એલ. હીપ એપીઆઈનો ઉપયોગ કરીને તેમની પોતાની મેમરીનું સંચાલન કરો, (જે વિન32 હીપ એપીઆઈ માત્ર આસપાસ જ આવરણ કરે છે-ત્યાં કોઈ વાસ્તવિક તફાવત નથી) અને આર. ટી. એલ. એક્ઝીટયુઝરપ્રોસેસ (એક્ઝિટપ્રોસેસના વિરોધમાં) પર કૉલ સાથે અમલ પરત કરો. નેટિવ એપ્લિકેશન્સ સાથે જોડાયેલી એક સામાન્ય લાઇબ્રેરી nt.lib છે, જેમાં નેટિવ એપ્લિકેશન્સ માટે સ્ટાર્ટઅપ કોડ છે, જે સી રનટાઇમ વિન 32 એપ્લિકેશન્સ માટે સ્ટાર્ટઅપ કોડ કેવી રીતે પ્રદાન કરે છે તેના જેવું જ છે. મોટાભાગના API બિનદસ્તાવેજીકૃત હોવા છતાં, નેટિવ એપ્લિકેશન્સને વિન્ડોઝ ડ્રાઈવર ડેવલપમેન્ટ કિટનો ઉપયોગ કરીને બનાવી શકાય છે; ઘણા એન્ટીવાયરસ સોફ્ટવેર અને અન્ય ઉપયોગિતા સોફ્ટવેર વિક્રેતાઓ તેમના ઉત્પાદનોમાં નેટિવ એપ્લિકેશન્સનો સમાવેશ કરે છે, સામાન્ય રીતે કેટલાક બુટ-ટાઇમ કાર્ય કરવા માટે જે યુઝરસ્પેસમાં કરી શકાતા નથી. વિન 32 એપીઆઈ આ વિભાગમાં દરેક લાઈબ્રેરીઓ વિન 32 એપીઆઈના વિવિધ ઉપગણોનો અમલ કરે છે. KERNEL32.DLL KERNEL32.DLL મોટાભાગની વિન 32 બેઝ API, જેમ કે મેમરી મેનેજમેન્ટ, ઇનપુટ/આઉટપુટ (I/O) ઓપરેશન્સ, પ્રોસેસ અને થ્રેડ ક્રિએશન અને સિંક્રોનાઇઝેશન ફંક્શન્સ જેવી એપ્લિકેશનોને ખુલ્લી પાડે છે. આમાંના ઘણા NTDLL.DLL દ્વારા ખુલ્લા મૂળ API માં અનુરૂપ કાર્યોને કૉલ કરીને KERNEL32.DLL ની અંદર અમલમાં મૂકવામાં આવે છે. GDI32.DLL GDI32.DLL ગ્રાફિક્સ ડિવાઇસ ઇન્ટરફેસ (GDI) કાર્યોને નિકાસ કરે છે જે વિડિયો ડિસ્પ્લે અને પ્રિન્ટરોમાં આઉટપુટ માટે આદિમ રેખાંકન કાર્યો કરે છે. તેનો ઉપયોગ, ઉદાહરણ તરીકે, પેઇન્ટના એક્સ. પી. સંસ્કરણમાં થાય છે. કાર્યક્રમો જી. ડી. આઈ. કાર્યોને સીધા નીચા-સ્તરના ચિત્ર (રેખા, લંબચોરસ, લંબગોળ), લખાણ આઉટપુટ, ફોન્ટ વ્યવસ્થાપન અને સમાન કાર્યો કરવા માટે બોલાવે છે. શરૂઆતમાં, જી. ડી. આઈ. એ 16 અને 256 રંગના ઇ. જી. એ./વી. જી. એ. ડિસ્પ્લે કાર્ડ્સ અને મોનોક્રોમ પ્રિન્ટરોને ટેકો આપ્યો હતો. વર્ષોથી કાર્યક્ષમતામાં વધારો થયો છે, અને હવે તેમાં ટ્રુ ટાઇપ ફોન્ટ્સ, આલ્ફા ચેનલો અને બહુવિધ મોનિટર જેવી વસ્તુઓ માટે સમર્થન શામેલ છે. USER32.DLL USER32.DLL વિન્ડોઝ યુઝર ઘટકનો અમલ કરે છે જે વિન્ડોઝ યુઝર ઇન્ટરફેસના પ્રમાણભૂત ઘટકો બનાવે છે અને તેમાં હેરફેર કરે છે, જેમ કે ડેસ્કટોપ, વિન્ડોઝ અને મેનુઓ. આમ તે પ્રોગ્રામ્સને ગ્રાફિકલ યુઝર ઇન્ટરફેસ (GUI) અમલમાં મૂકવા માટે સક્ષમ કરે છે જે વિન્ડોઝના દેખાવ અને લાગણી સાથે મેળ ખાય છે. વિન્ડોઝ બનાવવા અને તેનું સંચાલન કરવા, વિન્ડો સંદેશાઓ પ્રાપ્ત કરવા (જે મોટે ભાગે માઉસ અને કીબોર્ડ ઇવેન્ટ્સ જેવા વપરાશકર્તા ઇનપુટ હોય છે, પણ ઓપરેટિંગ સિસ્ટમમાંથી સૂચનાઓ પણ હોય છે), વિંડોમાં લખાણ પ્રદર્શિત કરવા અને સંદેશ બોક્સ પ્રદર્શિત કરવા જેવી કામગીરીઓ કરવા માટે પ્રોગ્રામ્સ વિન્ડોઝ યુઝર પાસેથી કાર્યોને કૉલ કરે છે. USER32.DLL માં ઘણા કાર્યો વપરાશકર્તા ઇન્ટરફેસના વિવિધ ઘટકોનું વાસ્તવિક રેન્ડરિંગ કરવા માટે GDI32.DLL દ્વારા નિકાસ કરાયેલા GDI કાર્યોને કૉલ કરે છે. કેટલાક પ્રકારના પ્રોગ્રામ્સ અગાઉ USER32 વિધેયો દ્વારા બનાવવામાં આવેલી વિંડોમાં નીચલા સ્તરની રેખાંકન કામગીરીઓ કરવા માટે સીધા GDI વિધેયોને પણ કૉલ કરશે. COMCTL32.DLL COMDLG32.DLL COMDLG32.DLL, કોમન ડાયલોગ બોક્સ લાઇબ્રેરી, વિવિધ પ્રકારના વિન્ડોઝ ડાયલોગ બોક્સનો અમલ કરે છે જેનો હેતુ માઇક્રોસોફ્ટને 'સામાન્ય એપ્લિકેશન કાર્યો' ગણાવે છે તે કરવા માટે છે. વિન્ડોઝ વિસ્ટાના પ્રકાશનથી શરૂ કરીને, માઇક્રોસોફ્ટ આ લાઈબ્રેરી દ્વારા પૂરા પાડવામાં આવેલ "ઓપન" અને "સેવ એઝ" સંવાદ બોક્સને અપ્રચલિત માને છે અને તેના સ્થાને "કોમન આઈટમ ડાયલોગ API" મૂકે છે. WS2_32.DLL WS2_32.DLL વિન્સોક API નો અમલ કરે છે, જે TCP/IP નેટવર્કિંગ કાર્યો પ્રદાન કરે છે અને અન્ય નેટવર્ક API સાથે આંશિક, તૂટેલી સુસંગતતા પ્રદાન કરે છે. wsock.dll અને wsock32.dll એ Win3.11 અને વિન95 સુસંગતતા માટે જૂની આવૃત્તિઓ છે. ADVAPI32.DLL ADVAPI32.DLL, એડવાન્સ્ડ વિન્ડોઝ 32 બેઝ API DLL, વિન્ડોઝ રજિસ્ટ્રીમાં હેરફેર કરવા માટે સુરક્ષા કૉલ્સ અને કાર્યો પ્રદાન કરે છે. NETAPI32.DLL NETAPI32.DLL નેટવર્ક ઇન્ટરફેસોની પૂછપરછ અને સંચાલન માટે કાર્યો પૂરા પાડે છે. OLE32.DLL OLE32.DLL કોમ્પોનન્ટ ઓબ્જેક્ટ મોડલ, તેમજ ઓબ્જેક્ટ લિંકિંગ અને એમ્બેડિંગ પ્રદાન કરે છે. અન્ય API SHSCRAP.DLL SHSCRAP.DLL એ ઓબ્જેક્ટ લિંકિંગ અને એમ્બેડિંગ (OLE) પદ્ધતિનો એક ભાગ છે. તે શેલ સ્ક્રેપ ફાઇલો માટે સપોર્ટ લાગુ કરે છે, જે જ્યારે તમે OLE-સક્ષમ એપ્લિકેશનમાંથી પસંદ કરેલી સામગ્રીને એક્સપ્લોરર વિંડો અથવા ડેસ્કટોપમાં ખેંચો છો ત્યારે આપમેળે બનાવવામાં આવે છે, પરંતુ તમે તેને બનાવવા માટે ઑબ્જેક્ટ પેકેજરનો પણ ઉપયોગ કરી શકો છો. ત્યારબાદ તેમને અન્ય OLE-સક્ષમ એપ્લિકેશનમાં ખેંચી શકાય છે. સુરક્ષામાં સુધારો કરવા અને ઓપરેટિંગ સિસ્ટમને સામાન્ય રીતે બિનઉપયોગી કાર્યક્ષમતામાંથી મુક્ત કરવા માટે આ કાર્યક્ષમતાને વિન્ડોઝ વિસ્ટા (અને તેથી પછીની આવૃત્તિઓ) માંથી દૂર કરવામાં આવી હતી. સ્ક્રેપ (. shs) ફાઇલોનો ઉપયોગ વાયરસ દ્વારા કરવામાં આવ્યો છે કારણ કે તેમાં વિવિધ પ્રકારની ફાઇલો (એક્ઝેક્યુટેબલ કોડ સહિત) હોઈ શકે છે, અને જ્યારે "જાણીતા ફાઇલ પ્રકારોમાંથી ફાઇલ એક્સ્ટેંશનને છુપાવો" નિષ્ક્રિય હોય ત્યારે પણ ફાઇલ એક્સ્ટેંશન બતાવવામાં આવતું નથી. વિન્ડોઝ એક્સપી સિસ્ટમમાંથી રજિસ્ટ્રી એન્ટ્રીઓ અને ડીએલએલની નકલ કરીને કાર્યક્ષમતાને પુનઃસ્થાપિત કરી શકાય છે. WINMM.DLL WINMM.DLL મૂળ વિનએમએમ ઓડિયો એપીઆઈની ઍક્સેસ પ્રદાન કરે છે. IMM32.DLL IMM32 એ ઇનપુટ મેથડ એડિટરને બોલાવવા અને તેની સાથે ક્રિયાપ્રતિક્રિયા કરવા માટે જવાબદાર છે. રનટાઇમ લાઈબ્રેરીઓ MSVCRT.DLL, MSVCP *. DLL અને CRTDLL.DLL MSVCRT.DLL એ વિઝ્યુઅલ C + + (MSVC) કમ્પાઇલર માટે આવૃત્તિ 4.2 થી 6.0 સુધીની C પ્રમાણભૂત લાઈબ્રેરી છે. તે મોટાભાગના પ્રમાણભૂત સી લાઇબ્રેરી કાર્યો સાથે એમ. એસ. વી. સી. ની આ આવૃત્તિઓ દ્વારા સંકલિત કાર્યક્રમો પ્રદાન કરે છે. આમાં સ્ટ્રિંગ હેરફેર, મેમરી ફાળવણી, સી-સ્ટાઇલ ઇનપુટ/આઉટપુટ કૉલ્સ અને અન્યનો સમાવેશ થાય છે. એમ. એસ. વી. સી. પી. *. ડી. એલ. એલ. એ અનુરૂપ સી + + લાઇબ્રેરી છે. તે વિન્ડોઝ 95 OSR2.5 થી વિન્ડોઝ વર્ઝન સાથે અન્ય વિન્ડોઝ ઘટકો દ્વારા ઉપયોગ માટે મોકલવામાં આવ્યું છે; તેના બદલે અગાઉની આવૃત્તિઓ CRTDLL.DLL લાઇબ્રેરી સાથે મોકલવામાં આવી હતી. વિન્ડોઝના જૂના વર્ઝનમાં, MSVCRT.DLL સામે લિંક કરેલા પ્રોગ્રામ્સ સિસ્ટમ 32 ફોલ્ડરમાં સુસંગત નકલ ઇન્સ્ટોલ કરે તેવી અપેક્ષા હતી, પરંતુ તેનાથી DLL હેલમાં ફાળો આપ્યો કારણ કે ઘણા ઇન્સ્ટોલર્સ તેને બદલતા પહેલા ઇન્સ્ટોલ કરેલા વર્ઝન સામે લાઇબ્રેરી વર્ઝનને તપાસવામાં નિષ્ફળ ગયા હતા. એમ. એસ. વી. સી. ની 4થી અને 7થી 12 સુધીની આવૃત્તિઓ દરેક આવૃત્તિ (MSVCR20.DLL, MSVCR70.DLL, MSVCR71.DLL, MSVCP110.DLL, વગેરે) માટે અલગ અલગ નામવાળી DLLનો ઉપયોગ કરતી હતી. યોગ્ય સંસ્કરણ સ્થાપિત કરવા માટે એપ્લિકેશનો જરૂરી છે, અને માઇક્રોસોફ્ટ આ હેતુ માટે વિઝ્યુઅલ સી + + પુનઃવિતરણક્ષમ પેકેજો પ્રદાન કરે છે, જોકે વિન્ડોઝ સામાન્ય રીતે પહેલેથી જ સ્થાપિત એક સંસ્કરણ સાથે આવે છે. આ રનટાઇમ લાઇબ્રેરીનો ઉપયોગ વિઝ્યુઅલ સી + + માં લખાયેલા પ્રોગ્રામ્સ અને કેટલાક અન્ય કમ્પાઇલર્સ (દા. ત.) દ્વારા થાય છે. મિનજીડબલ્યુ). કેટલાક સંકલનકારોની પોતાની રનટાઇમ લાઈબ્રેરીઓ હોય છે. વર્ઝન 14 (વિઝ્યુઅલ સ્ટુડિયો 2015) સાથે, મોટાભાગના C/C + + રનટાઇમને નવા DLL, UCRTBASE.DLL માં ખસેડવામાં આવ્યો હતો, જે સખત રીતે C99 સુસંગત છે. વિન્ડોઝ 10 પછીથી યુનિવર્સલ સી રન ટાઇમ (યુસીઆરટી) વિન્ડોઝનો એક ઘટક ભાગ બની જાય છે, તેથી દરેક કમ્પાઇલર (જીસીસી અથવા ક્લાંગ/એલએલવીએમ જેવા નોન એમએસ) યુસીઆરટી સામે લિંક કરી શકે છે. જો કે, UCRTBASE.DLL નો ઉપયોગ કરતા C/C + + પ્રોગ્રામ્સને અન્ય નવા DLL, VCRunટાઇમ સાથે જોડવાની ફરજ પાડવામાં આવે છે. આવૃત્તિ 14 પર, આ VCRUNTIME140.DLL હતું. આ નામ ભવિષ્યની આવૃત્તિઓમાં બદલવાની સંભાવના ધરાવે છે, પરંતુ આવૃત્તિ 17 સુધી તે બદલાયું નથી. રનટાઇમ લાઈબ્રેરીઓ માટેનો સ્રોત કોડ સંદર્ભ અને ડિબગીંગ માટે વિઝ્યુઅલ સી + + માં સામેલ છે (દા. ત. C માંઃ \પ્રોગ્રામ ફાઇલો\ માઈક્રોસોફ્ટ વિઝ્યુઅલ સ્ટુડિયો 11.0\ VC\crt\src). અન્ય રનટાઇમ લાઈબ્રેરીઓ ATL *. DLL-સક્રિય ટેમ્પલેટ લાઈબ્રેરી MFC *. DLL-માઈક્રોસોફ્ટ ફાઉન્ડેશન વર્ગો MSVBVM60.DLL-વિઝ્યુઅલ બેઝિક 6 વર્ચ્યુઅલ મશીન (વિઝ્યુઅલ Basic.NET પ્રોગ્રામ્સને તેના બદલે. NET ફ્રેમવર્કની જરૂર છે) VCOMP *. DLL-માઈક્રોસોફ્ટ ઓપનએમપી રનટાઇમ VCRUNTIME *. DLL-માઈક્રોસોફ્ટ VCRUNTIME, એમ. એસ. વી. સી. 14.0 + MSVCIRT.DLL-માઈક્રોસોફ્ટ સી + + લાઈબ્રેરી માટે, એમ. એસ. સી. 9 અને 10 (એમ. એસ. વી. સી. 2. x, 4. x) (તે સમયે, ડ્રાફ્ટ સી + + સ્ટાન્ડર્ડ લાઈબ્રેરીને MSVCRT.DLL માં સંકલિત કરવામાં આવી હતી. તેને વિઝ્યુઅલ C + + 5.0). NET ફ્રેમવર્ક લાઈબ્રેરીઓના પ્રકાશન સાથે વિભાજિત કરવામાં આવ્યું હતું. C #, વિઝ્યુઅલ Basic.NET, C + +/CLI અને અન્ય. NET ભાષાઓમાં લખાયેલા પ્રોગ્રામ્સ માટે. NET ફ્રેમવર્કની જરૂર પડે છે. તેમાં ઘણી લાઈબ્રેરીઓ છે (તેમાંથી એક છે mscorlib.dll મલ્ટી લેંગ્વેજ સ્ટાન્ડર્ડ કોમન ઓબ્જેક્ટ રનટાઇમ લાઈબ્રેરી, અગાઉ માઈક્રોસોફ્ટ કોમન ઓબ્જેક્ટ રનટાઇમ લાઈબ્રેરી) અને કહેવાતી એસેમ્બલીઓ (દા. ત. System.Windows.Forms.dll). આ પણ જુઓ વિન્ડોઝ એન. ટી. વિન્ડોઝ એન. ટી. સ્ટાર્ટઅપ પ્રક્રિયા માઇક્રોસોફ્ટ વિન્ડોઝ ઘટકોની સૂચિ વિન્ડોઝ એ. પી. આઈ. ડાયનેમિક લિંક લાઇબ્રેરી સંદર્ભો બાહ્ય કડીઓ એ. પી. આઈ. કોલ સૂચિ (USER32.DLL) વિઝ્યુઅલ બેઝિક એ. પી. આઈ. કોલ સૂચિ સાથે વપરાશકર્તા એ. પી. આઈ. ક્લાયન્ટ લાઇબ્રેરીનો ઉપયોગ કરવા માટેની ટીપ્સ (KERNEL32.DLL) વિઝ્યુઅલ બેઝિક નેટિવ એ. પી. આઈ. સંદર્ભ સાથે કર્નલ એ. પી. આઈ. ક્લાયન્ટ લાઇબ્રેરીનો ઉપયોગ કરવા માટેની ટીપ્સ બિનસત્તાવાર વેબસાઇટ કે જે મોટાભાગની નેટિવ એ. પી. આઈ. પદ્ધતિઓનું દસ્તાવેજીકરણ કરે છે.