① 什麼是設備環境句柄hdc什麼是圖形設備介面gdi
設備環境句柄hdc簡單說是界面各元素的編號,是一個32位整型值。
圖形設備介面(GDI :Graphics Device Interface),它的主要任務是負責系統與繪圖程序之間的信息交換,處理所有Windows程序的圖形輸出。
② 請問MFC中的DC、CDC、HDC、句柄、設備上下文究竟是什麼意思 希望能解答詳細一點點 謝謝了
都是什麼回答啊 ...
樓主 你沒有了解MFC的運行機制就去看他寫他所以你先要了解他的機制 已經各個CPP .H都是什麼
下面我就給你說下
在MFC程序中,我們並不經常直接調用Windows API,而是從MFC類創建對象並調用屬於這些對象的成員函數.也就是說MFC封裝了Windows API 你說你喜歡C++而MFC換一種說法就是一個用C++寫的一個函數庫 然後你來調用 只不過這個類不是你寫的
MFC提供數百個類,最重要的、也是編寫任何VC++應用程序都必不可少的兩個類CWinApp和CFrameWnd,這兩個類是編寫復雜龐大應用程序的基石。
1>封裝特性:構成MFC框架的是MFC類庫而MFC類庫又是C++的一個類庫。這些類封裝WIN32應用程序編程介面,OLE(Object Link Embed 對象鏈接嵌入)特性,ODBC和DAO數據訪問的功能。
2>繼承特性:MFC抽象出了眾多類的共同特性,並設計出一些基類作為實現其他類的基礎,這些類中最重要的類是CObject類和CCmdTarget類,程序員可以從適當的MFC類中派生出自己的類,實現特定的功能達到編程的目的。
3>虛擬和消息映射:MFC是以C++為基礎,當然支持虛函數,但作為一個編程框架必須要解決的是效率問題:如果MFC僅僅通過虛函數來支持動態約束必然會產生大量的虛函數表這樣編程框架過於臃腫而且消耗更多的內存。但是MFC建立了消息映射機制這樣降低了內存的使用卻大大提高了效率
消息映射是一個將消息和成員函數相互關聯的表,當應用程序的框架窗口接收到一個消息時,MFC將搜索該窗口的消息映射,如果存在一個處理消息的處理程序,那麼就調用該處理程序.
它通過宏來實現消息到成員函數的映射,而且這些函數不必是虛擬的成員函數,這樣不需要為消息映射函數生成一個很大的虛擬函數表(V表),節省內存。
MFC消息映射機制:
將消息與消息處理函數聯系起來,形成一一對應的機制。
消息映射宏
聲明: DECLARE_MESSAGE_MAP
定義:
BEGIN_MESSAGE_MAP
ON_COMMAND
ON_CONTROL
ON_MESSAGE
END_MESSAGE_MAP
MFC主要組成部分:類、宏和全局函數。
類是MFC中最主要的內容。MFC類是以層次結構方式組織起來的。MFC中的類分成兩部分,除了一些輔助類,大多數的MFC類是直接或間接從根類CObject派生而來。
MFC宏主要功能:消息映射、運行時對象類型服務、診斷服務、異常處理。
MFC約定:全局函數以「Afx」為前綴,全局變數以「afx」為前綴
MFC類的層次關系
CObject項目類)->CCmdTarget(消息響應類)->
{
CWinThread(線程類)->CWinApp(Window應用程序類)
CDocument(文檔類)
CWnd(窗體類)->[
CFrameWnd(框架類)
CView(視圖類)
]
}
CObject類由於MFC中大部分類是從CObject類繼承而來的,CObject類描述了幾乎所有的MFC類的一些公共特性,CObject類為程序員提供了對象診斷、運行時類型識別和序列化等功能。
CCmdTarget類由CObject類直接派生而來,它負責將消息發送到能夠響應這些消息的對象。它是所有能進行消息映射的MFC類的基類。
CWinApp類在任何MFC應用程序中有且僅有一個CWinApp派生類的對象,它代表了程序中運行的主線程,也代表了應用程序本身。 CWinApp類取代了WinMain()主函數在SDK應用程序中的地位。傳統SDK應用程序WinMain()函數完成的工作。現在由類CWinApp的InitApplication(),InitInstance()和Run()三個成員函數承擔。
CWnd類由CCmdTarget類直接派生而來,該類及其派生類的實例是一個窗口。CWnd類代表了MFC中最基本的GUI對象,它是一個功能最完善、成員函數最多的MFC類。
CFrameWnd類是CWnd類的派生類,主要用來掌管一個窗口,它取代了SDK應用程序中窗口函數WndProc()的地位。CFrameWnd類的對象是一個框架窗口,包括邊框、標題欄、菜單、最大化按鈕、最小化按鈕和一個激活的視圖。
CDocument類在應用程序中作為用戶文檔類的基類,它代表了用戶存儲或打開的一個文件。
CView類是MFC中一個很基本的類,它作為其它MFC視圖類和用戶視圖派生類的基類。
從API編程到MFC編程的過渡:
WinMain()
{ 初始化WNDCLASS
注冊窗體結構
創建窗口 ->>>>>>>>應用程序類CWinApp
顯示窗口
消息循環
}
WndProc()
{ switch(…)
->>>>>>>>>框架窗口類CFrameWnd
}
MFC Object和Windows Object的對應關系:
描述 Windows句柄 MFC Object
窗口 HWND CWnd
設備上下文 HDC CDC
菜單 HMENU CMenu
筆 HPEN CPen
刷子 HBRUSH CBrush
字體 HFONT CFont
點陣圖 HBITMAP CBitmap
套接字 SOCKET CSocket
三、手工創建一個MFC應用程序:
注意:創建MFC程序,要創建一個Win32空項目,並要選擇項目屬性中的」在共享DLL文件中使用MFC,然後新建我們的文件
例子:在」hello.h」頭文件中添寫如下代碼:
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();//虛函數
};
class CMainWindow:public CFrameWnd
{
public:
CMainWindow();
protected:
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP();//聲明消息映射
};
在」hello.cpp」源文件中添寫如下代碼:
#include <afxwin.h>
#include 「hello.h"
CMyApp myApp;
BOOL CMyApp::InitInstance()
{
m_pMainWnd = new CMainWindow;
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd)
ON_WM_PAINT()
END_MESSAGE_MAP() //消息映射
CMainWindow::CMainWindow() //構造函數初始化
{
Create(NULL,「我的第一個MFC應用程序」);//創建窗體
}
void CMainWindow::OnPaint()
{ CPaintDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.DrawText("Hello MFC",-1,&rect, DT_SINGLELINE|DT_CENTER|DT_VCENTER);
}
CWinApp是應用程序類,在MFC應用程序中必須從這個類派生出一個類,該派生類是MFC應用程序的入口
必須定義這個派生類的對象,並且只能有一個這個對象代表整個應用程序。
成員函數:InitInstance()
功能:初始化應用程序實例和窗口實例,
虛函數CWinApp::InitInstance必須在派生類中重寫。在InitInstance函數中,編寫初始化代碼,如:
創建一個窗口
顯示一個窗口
CFrameWnd類
作用:為應用程序提供一個窗口,同時實現消息處理功能。
成員函數: Create()
功能:創建窗體,將之賦於CFrameWnd對象上。
BOOL Create(窗口類型, 窗口標題,顯示風格,顯示區域,符窗口句柄,菜單,擴展顯示風格,上下文對象)共有8個參數,前兩個必須給出,後6個可以默認。
MFC應用程序的核心就是基於CWinApp類的應用程序對象,CWinApp提供了消息循環來檢索消息並將消息調度給應用程序的窗口.我們在編寫MFC應用程序時,要包含afxwin.h,
一個MFC應用程序可以有且僅有一個應用程序對象,對象必須聲明為在全局范圍內有效(也就是全局對象),以便它在程序開始時即在內存中被實例化
我們的Hello MFC的應用程序類被命名為CMyApp,它在hello.cpp中用如下語句進行了實例化:
CMyApp myApp;
CMyApp的類聲明在hello.h中代碼如下:
class CMyApp:public CWinApp
{
public:
virtual BOOL InitInstance();
};
CMyApp沒有聲明任何的數據成員,只是重寫了一個從CWinApp類中繼承來的函數,在應用程序的生存期內InitInstance的調用比較早,是在應用程序開始運行以後而窗口創建之前,除非InitIstance創建一個窗口,否則應用程序是不會有窗口,這正是為什麼即使最小的MFC應用程序也必須從CWinApp派生出一個類並重寫CWinApp::InitIstance的原因
InitInstance函數:CWinApp::InitInstance是一個虛函數,其默認操作僅包含一條語句:return TRUE;
InitInstance是用來執行程序每次開始時都需要進行的初始化工作最好的地方
在hello.cpp中,CMyApp的InitInstance通過實例化hello的CMainWindow類來創建hello窗口,語句:
m_pMainWnd = new CMainWindow;
構造了一個CMainWindow對象指針,並將其地址復制到了應用程序對象的m_pMainWnd數據成員中,窗口創建以後,InitInstance就會通過CMainWindow指針調用ShowWindow和UpdateWindow函數顯示它:
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
ShowWindow和UpdateWindow是所有窗口對象共用的CWnd成員函數其中包括CFrameWnd類的對象,CMainWindow就是從CFrameWnd派生出來的.
要從MFC程序調用一個常規的Windows API函數,需要在函數名稱前添加一個全局運算符:: 例如:::UpdateWindow();
通過生成窗口對象並調用其Create函數,MFC應用程序可以創建一個窗口,在CMyApp::InitInstance中,hello創建了一個CMainWindow對象,CMainWindow的構造函數生成在屏幕上看到的窗口:
Create(NULL,」我的第一個MFC應用程序」);
CPaintDC dc(this);
MFC的CPaintDC類是從MFC的CDC類派生的,CDC類封裝了Windows設備環境,以及包含了繪制到屏幕、列印機和其他設備的幾十個成員函數
在MFC中如何處理消息呢?
在SDK中我們利用的是消息循環和窗口過程函數對消息進行消息處理.
在MFC中我們用的是消息映射機制.
下面是將消息映射添加到一個類中需要做的全部工作.
1>通過將DECLARE_MESSAGE_MAP語句添加到類聲明中,聲明消息映射.
2>通過放置標識消息的宏來執行消息映射,相應的類將在對BEGIN_MESSAGE_MAP和END_MESSAGE_MAP的調用之間處理消息
3>添加成員函數來處理消息
1、構造CWinApp派生類的對象
2、系統調用WinMain()
3、WinMain調用InitInstance,在該函數中創建CFrameWnd派生類對象,調用Create函數創建窗口、調用ShowWindow函數顯示窗口。
4、之後內部機制調用Run,接受用戶的消息,並將消息導向默認的處理函數。當接收到WM_QUIT消息時,Run內部調用ExitInstance,退出程序。
MFC採用消息映射(Message Map)機製取代C/C++語言中的switch-case結構來處理消息。
消息映射:在MFC中把消息處理函數和它所要處理的特定的消息連接起來的一種機制。
它通過宏來實現消息到成員函數的映射,而且這些函數不必是虛擬的成員函數,這樣不需要為消息映射函數生成一個很大的虛擬函數表(V表),節省內存。
MFC消息映射機制包括一組消息映射宏。一條消息映射宏把一個Windows消息和其消息處理函數聯結起來。
MFC應用程序框架提供了消息映射功能。
在類的實現源文件中用BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()宏來定義消息映射。
在類定義的結尾用DECLARE_MESSAGE_MAP()宏來聲明使用消息映射。
Hello的CmainWindow類只處理一種消息類型—WM_PAINT,因此其消息映射的實現如下所示:
BEGIN_MESSAGE_MAP(CMainWindow,CFrameWnd);
ON_WM_PAINT()
END_MESSAGE_MAP()
BEGIN_MESSAGE_MAP開始了消息映射,並標識了消息映射所屬的類和該類的基類
END_MESSAGE_MAP()結束消息映射.
ON_WM_PAINT()在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP()之間,稱做消息條目,在MFC為100多種Window消息提供了宏.
afx_msg void OnPaint();
DECLARE_MESSAGE_MAP()
afx_msg 醒目地暗示OnPaint是一個消息處理程序,
DECLARE_MESSAGE_MAP()聲明消息映射
MFC把消息主要分為三大類:
(1)、標准Windows消息(WM_XXX)
使用宏:ON_WM_XXX() 特點:有默認的消息處理函數
(2)、命令消息:(WM_COMMAND)
來自於菜單、工具條、按鈕等的消息
使用宏: ON_COMMAND(命令按鈕標識符ID,消息處理函數)
特點:由用戶指定消息處理函數
3、」Notification消息」 (通知消息) 由控制項產生:
BOOL 布爾值,取值為TRUE或者FALSE
BSTR 32為字元指針
BYTE 8位整數無符號的
COLORREF 32位數值代表一個顏色值
DWORD 32位整數無符號的
LONG 32位整數帶符號的
LPCTSTR 32位指針,指向一個常字元串
LPVOID 32位指針,指向一個為指定類型的數據
MFC特有的數據類型:
1>POSITION :一個數值,代表數組或者鏈表中元素的位置,在MFC中常用於數據處理類
2>LPRECT:32位指針,指向一個不變的矩形區域結構
這是我針對你的問題整理的一些資料 很多 我想刪減一些 但我覺得這些都對你很重要
③ 什麼是DC商品及非DC商品
超市商品DC應該是數碼商品。
DC
abbr.
1. = Department of Commerce (美國)商務部
2. = Defense Council 國防委員會
3. = District of Columbia 哥倫比亞特區 (美國聯邦政府所在地, 常用 Washington, D.C.)
4. = direct current 【電】直流電 (亦作 dc)
5. = Data Center 資料中心, 數據中心
6. = Data Communication 數字通訊
dc
abbr.
1. =data collection 數據收集
2. =dead center 死點
3. =deck cargo 甲板貨物
4. =deviation clause 繞航條款,變更航程條款
5. =digital computer 數字電腦
6. =direct credit 直接貸款
7. =direct current 直流(電)
8. =directional coupler 定向耦合器
9. =down center 從中心往下的
④ GDI 繪圖時怎樣用當前背景填充內存DC
跟屏幕刷新率關系不大
1
是沒處理好消息
窗口繪制 是先 清除背景,在繪制前景
你響應 WM_ERASEBKGND,直接返回1試試一定可以,不行請參見如下2
2.
跟其它窗口有交叉區域的存在,你Swap的時候影響了其它窗口,它繪制的過程反過來又影響你繪制的窗口重新刷新,導致閃爍。這樣可通過定義裁減區域來實現,或者照1做,
看MSDN上CDC類的裁減區方面的幾個函數就行了。
⑤ dc介面是什麼
就是DC插座.
DC插座是一種與電腦顯示器專用電源相配的插座,它是由橫向插口、縱向插口、絕緣基座、叉型接觸彈片、定向鍵槽組成,兩只叉型接觸彈片定位在基座中心部位,成縱橫向排列互不相連。叉型接觸彈片一端為接線口,外露在基座圓柱體頂面,供連接輸入電源軟線或軟纜用,叉型接觸彈片另一端由基體互連的兩只彈性臂組成,設置在DC插頭插入方向絕緣基座插孔內,供給電腦顯示器之用,使之正常工作。

(5)gdi設備場鏡dc是什麼擴展閱讀:
DC插座技術指標
接觸電阻:Contact Resistance ≤0.03mmΩ
額定負荷:Rated Load 30V DC 0.5A
絕緣電阻:Insulation Resistance ≥100MΩ
插拔力:Insertion and Extraction Force 3N~30N
耐壓:Withstand Voltage 500V,AC/min 電器壽命:Life 5000次
溫度范圍:Temperature -40~+70℃
⑥ DC事件是什麼
DC——device context
設備描述環境,這里的設備指計算機的輸出設備,比如顯示器,列印機等。
計算機在輸出時要先獲取設備的環境,以建立正確的輸出規則,進行輸出。
至於DC事件,大概就是針對這個設備環境的事件吧
⑦ dc調光是什麼
DC調光是一種調節屏幕亮度的方式,手機等便攜設備都擁有光線感測器,可以在感知當前環境亮度的情況下自動調節屏幕的亮度,而DC調光就是通過提高或降低屏幕面板電路功率的方式來改變屏幕的亮度,由於功率等於電壓*電流,因此只需改變電壓或電流都能夠改變屏幕亮度。

(7)gdi設備場鏡dc是什麼擴展閱讀:
由於有不少屏幕驅動晶元並不對外開放,手機廠商想要實現低亮度的DC調光只能夠通過類DC調光的方式;包括OPPO在內已經有多家國內的廠商開始使用類DC調光,既能夠減少用戶由於低頻PWM調光而出現的疲勞感,也解決了色彩失准等顯示問題。
類DC調光是通過有規律的電亮、熄滅屏幕,並調節其持續時間來實現亮度的變化;由於亮、滅的交替速度快,人眼有視覺殘留很難察覺到這個過程,會認為手機屏幕一直在亮。
⑧ DC什麼是大小光圈
最佳答案
關於光圈(F)
F後面的數值越小,光圈越大。光圈的作用在於決定鏡頭的進光量,光圈值越大,進光量越多;反之,則越小。簡單的說就是,在快門不變的情況下,光圈越大,進光量越多,畫面比較亮;光圈越小,畫面比較暗。
光圈和快門是控制攝影時光線量的兩大工具光圈指得是鏡頭中間開孔的大小,控制著膠卷或CCD曝光時光線的亮度。光圈其實就是依據人的眼睛瞳孔架構來設計調整光線多寡,端得是一圈薄且重疊的金屬葉片組成,葉片開口構成一圓圈,放大或關小可以控制入光量。
f光圈的單位
光圈的大小是由它的光圈值(f- number)來定義。大凡所有的鏡頭都有這個光圈級數,在相機的規格表中,廠商通常會提供兩個光圈數值(見附圖紅框部分)。這兩個數據,一前一後表白的是相機鏡頭的最大光圈的值,兩組數據一組是指在『廣角端』時光圈,例如F2.6,另一組則是在望遠程時,例如:左圖的規格表中之數字相機是3X光學變焦,那在3X光學變焦端時,最大光圈就不是F2.6,而是F4.7。這個數字也同樣說明,這部相機在變焦的過程中,最大光圈變化的范圍。
不論數字相機或是傻瓜相機,現今的光圈表示法,還是沿襲傳統的作法。標準的光圈級數為:f/1,f/1.4,f/2,f/2.8,f/4,f/5.6,f/8,f/11,f/16,f/22,f/32,f/45,f/64。f/1是最大的光圈值,上面的數列中,相鄰的光圈級數,之後的級數是前面級數光量的一半。例如:一個鏡頭光圈設定於f/4,它讓光線進入的量,是光圈設定於f/2.8光量的一半;或只是光圈設定於f/2光量的四分之一。
光圈的公式
光圈的數字表示,說來透得玄妙,竟是數字越大者光圈越小。其實光圈的大小,是可以用公式來表示,見加粗黑體字如下:
光圈值(F Number)=鏡頭焦距(mm)/光圈口徑(mm)
我們以50mm標准鏡頭為例,假若其的最大光圈口徑(也就是光圈葉片的開口,不是鏡頭的口徑)是36mm,那麼鏡頭的最大光圈值便等於f/1.4(50 / 36 = 1.4)。也這因為口徑的大小受限制,所以最大光圈值也有其極限,目前135傳統相機之標准鏡頭50mm之最大光圈為f/1.0,而數字相機則是以Olympus C-5050Z系列的f/1.8最大,其次的為專業級數位相機f/2.0光圈。一般光圈f/5.6以下,被稱為大光圈;光圈f8以上,被稱為小光圈。光圈愈小、景深范圍愈廣,畫面愈清晰;光圈愈大、景深愈淺,畫面愈模糊。我們會在下面另作景深的討論。
光圈的價值
光圈大小的變化,不僅可以改變透光量,還可以控制景深。特別是景深的要求在人像拍攝中特別被強調。由於光圈孔徑的最大直徑主要受到鏡頭的鏡片大小影響,也因此如要造大光圈,在標准規格下鏡片就必須加大,鏡片加大,連帶著成本和製造費用就愈昂貴。在傳統相機的世界中,光圈大上一級得,往往價格也會成等比級數升高。所以沒有一支現世鏡頭,在製造時能擁有所有的光圈。一般用途的35mm相機鏡頭,光圈大多從f/1.4到f/22,大型相機(4X5)的專用鏡頭,才有光圈小到f/64,但卻也限制其光圈最大值只能到f/5.6。
光圈與景深
將相機的光圈開大就可以加快快門速度,在昏暗的室內光線下很好用。大光圈可以讓你,不用三腳架也能拍出穩定的照片。其次使用越小的光圈口徑,景物前後清楚的范圍也就越深,這也是景深的定義之一。
拍攝時使用大的光圈,照片結果顯示出相當淺的景深,前景是清楚的,而後面的景物則是模糊失焦。假如,使用小光圈拍攝,會拍攝出不同感覺的照片,以小光圈拍攝的結果,鏡頭對焦在中間,可以看到深長的景深,前景和後景都足以讓所有的人都看得清楚。
光圈與快門的搭配(A光圈先決模式)
快門速度和光圈都會影響進入相機內的光量。要拍攝到一張正確曝光的照片(看起來既不會太亮也不會太暗),就必須讓正確的光量到達底片或CCD。光圈及快門的組合,可以幫你成功的控制光線。相對的光圈和快門也可以達到平衡,兩者成反比的關系只要改變其中一方的設定,另一方就需反向調整。因此,如果你用較快的快門遠度,就要塔配較大的光圈設定,或使用較慢的快門速度,可搭配使用較小的光圈值。盡管兩者交互配合可以達到入光亮的平衡,但快門速度決定著移動中主體的清晰度,相當於橫向的清晰;而光圈則決定景深范圍,相當於縱向的清楚范圍。
許多攝影愛好者,偏好光圈景深來調整自己照片的調性。這種以光圈大小定義拍攝主體,也就是俗稱的『A』光圈先決模式。簡單的說,就是設定光圈例如f/5.6,半按快門由機身取得曝光快門值之後拍照。在這種情況下,要比純手動去調整,以致於誤了光圈和快門速度,導致,曝光過度(照片全白,沒有層次),或曝光不足,導致照片全黑,損失暗部細節,要強得多。雖然,光圈越小,光線越集中,越容易清晰成像景深。不過,光圈過小時,會出現衍射,反而模糊(例如:自製的針孔照相機,如果孔太小,則什麼也看不清楚)。
⑨ 請問一般的高壓設備上標有-DC和AC分別表示什麼意思
AC表示接交流點源,DC表示直流電源。
⑩ 網路設備中的DC和備用DC是指什麼
DC domian control 域控的意思 BDC back-up domian control 是給DC 起到一個備份的作用 假如DC 壞了 不至於 整個域到癱瘓了! 轉載!!! 一、認識Windows 的域 一台Windows 計算機,它要麼隸屬於工作組,要麼隸屬於域。所以說到域,我們就不得不提一下工作組,工作組是MS 的概念,一般的普遍稱謂是對等網。工作組通常是一個由不多於10 台計算機組成的邏輯集合,如果要管理更多的計算機,MS 推薦你使用域的模式進行集中管理,這樣的管理更有效。你可以使用域、活動目錄、組策略等等各種功能,使你網路管理的工作量達到最小。當然這里的10 台只是一個參考值,11 台甚至20 台,如果你不想進行集中的管理,那麼你仍然可以使用工作組模式。工作組的特點就是實現簡單,不需要域控制器DC,每台計算機自己管理自己,適用於距離很近 的有限數目的計算機。另外工作組名並沒有太多的實際意義,只是在網上鄰居的列表中實現一個分組而已;再就是對於「計算機瀏覽服務」,每一個工作組中,會自 動推選出一個主瀏覽器,負責維護本工作組所有計算機的NetBIOS 名稱列表。用戶可以使用默認的workgroup,也可以任意起個名字,同一工作組或不同工作組在訪問時也沒有什么分別。域(Domain)是一個共用 「目錄服務資料庫」的計算機和用戶的集合,實現起來要復雜一些,至少需要一台計算機安裝NT/2000/03 Server 版本使其充當DC,來實現集中式的管理。若考慮到容錯的話,至少需要兩台。對於NT4 域就是一台PDC(具有唯一性),一至多台BDC,對於2000/03 域,已經沒有PDC 和BDC 的概念,要容錯就需要兩至多台DC。域是邏輯分組,與網路的物理拓撲無關,可以很小,比如只有一台DC;也可以很大,包括遍布世界各地的計算機,比如大型 跨國公司網路上的域(當然實際中他們多採用多域結構,還可以利用AD 站點來優化AD 復制)。這個「目錄服務資料庫」,在NT4 時,保存用戶帳號名稱和密碼等安全安全信息,以及安全規則設置,又被稱作安全帳號管理(SAM)資料庫,簡稱SAM 庫。在非DC 上的本地的SAM庫與DC 上域所用的SAM 庫類似,只不過對於NT4 域的SAM 庫文件,保存有整個域的用戶和計算機,用「域用戶管理器」和「伺服器管理器」來管理,本地的SAM 庫文件,保存有本地機的用戶,由「用戶管理器」來管理。 從2000 開始,MS 引入了活動目錄AD,DC 通過AD 來提供目錄的服務,例如它負責維護AD 資料庫、審核用戶的賬戶和密碼是否正確、將AD 資料庫復制到其它的DC 等。AD 庫的核心文件就是winnt\ntds\ntds.dit 文件。注意組策略的具體設置值,並不存在這個文件中,而是保存在winnt\sysvol\sysvol 這個共享夾下,用於向其它DC 復制,傳播給域成員,來生效。但需要說明的是:2000/XP/03 的非DC 域成員計算機上仍使用和NT4 一樣的SAM 庫文件來保存本地帳號。正是由於所有域成員計算機和域用戶都共用這個域的「目錄服務資料庫」,域管理員就可以基於域的「目錄服務資料庫」來進行集中管理、 共享資源,如用戶、組、計算機帳號、許可權設置、組策略設置等等。目錄服務為管理員提供從網路上任何一個計算機上查看和管理用戶和網路資源的能力。目錄服務 也為用戶提供唯一的用戶名和密碼,用戶只需一次登錄,即可訪問本域或有信任關系的其它域上的所有資源(當然用戶得