第一篇:使用DFS創(chuàng)建命名空間
使用DFS創(chuàng)建命名空間
如果想把零散的共享資源組織起來(lái),可以使用DFS創(chuàng)建命名空間。以下是win7之家所介紹的建命名空間的步驟。
步驟1:打開【DFS管理】窗口,右擊【命名空間】結(jié)點(diǎn),執(zhí)行【新建命名空間】命令,如下圖所示。
新建命名空間
步驟2:windows7系統(tǒng)下載彈出【新建命名空間向?qū)А繉?duì)話框,根據(jù)向?qū)崾咎顚懴嚓P(guān)的信息,即可順利地新建命名空間。
第二篇:(FINISHED)(COPIED)創(chuàng)建一個(gè)私有命名空間[定稿]
以下列出創(chuàng)建一個(gè)私有命名空間的步驟以及函數(shù)知識(shí)點(diǎn)
源碼:
int WINAPI WinMain(…){
//創(chuàng)建一個(gè)邊界描述符
Char szBoundaryText[] = “Boundary”;
HANDLE hBoundary = CreateBoundaryDescriptor(szBoundaryText,0);
//創(chuàng)建一個(gè)SID
BYTE localAdminSID[SECURITY_MAX_SID_SIZE];
PSID plocalAdminSID = &localAdminSID;
DWORD cbSID = sizeof(localAdminSID);
CreateWellKnownSid(WinBuiltinAdministratorsSid,NULL,plocalAdminSID,&cbSID);
//將SID和邊界描述符關(guān)聯(lián)起來(lái)
AddSIDToBoundaryDescriptor(&hBoundary,plocalAdminSID);
//初始化安全描述符
SECURITY_ATTRIBUTES sa;
sa.bInheritHandle = FALSE;
sa.nLength = sizeof(sa);
ConvertStringSecurityDescriptorToSecurityDescriptor(TEXT(“D(A;;GA;;;BA)”), SDDL_REVISION_1,&sa.lpSecurityDescriptor,NULL);
//創(chuàng)建私人命名空間,第三個(gè)參數(shù)就是以后用的前綴
HANDLE hNamespace = CreatePrivateNamespace(&sa.hBoundary,szBoundaryText);
//釋放安全描述符
LocalFree(sa.lpSecurityDescriptor);
//嘗試在私人命名空間中創(chuàng)建一個(gè)Mutex Object,并檢測(cè)是否為首例程
HANDLE hMutex = CreateMutex(NULL,FALSE,TEXT(“BoundaryMutex”));
If(GetLastError()==ERROR_ALREADY_EXISTS)Printf(“Another Instance is running n”);
else printf(“First Instance”);}
下面介紹函數(shù)
CreateBoundaryDescriptor HANDLE WINAPI CreateBoundaryDescriptor(_In_ LPCTSTR Name,_In_ ULONG Flags);Parameters Name [in]
邊界描述符的名字 Flags [in]
保留,設(shè)為NULL Return value
如果函數(shù)成功了,返回值就是一個(gè)到邊界描述符的句柄
如果函數(shù)失敗了,那么返回值就是NULL??梢哉{(diào)用GetLastError來(lái)獲得更多的錯(cuò)誤信息.Remarks
一個(gè)新的邊界描述符必須有至少一個(gè)的SID。
CreateWellKnownSid BOOL WINAPI CreateWellKnownSid(_In_
WELL_KNOWN_SID_TYPE WellKnownSidType,_In_opt_
PSID DomainSid,_Out_opt_ PSID pSid,_Inout_
DWORD *cbSid);Parameters WellKnownSidType [in]
WELL_KNOWN_SID_TYPE枚舉型結(jié)構(gòu)的成員,specifies what the SID will identify DomainSid [in, optional]
一個(gè)指向SID的指針that identifies the domain to use when creating the SID.若為NULL,則使用本地計(jì)算機(jī) pSid [out, optional]
一個(gè)指向內(nèi)存的指針,用來(lái)存儲(chǔ)新的SID cbSid [in, out]
一個(gè)雙字指針描述了pSid中的可用字節(jié)數(shù).Return value
如果函數(shù)成功了,返回值為非零
如果函數(shù)失敗了,那么返回值為0.要得到更多的錯(cuò)誤信息,調(diào)用GetLastError函數(shù)
AddSIDToBoundaryDescriptor BOOL WINAPI AddSIDToBoundaryDescriptor(_Inout_ HANDLE *BoundaryDescriptor,_In_
PSID RequiredSid);Parameters BoundaryDescriptor [in, out] 一個(gè)指向邊界描述符的句柄 RequiredSid [in] 一個(gè)指向SID結(jié)構(gòu)的指針
Return value 如果函數(shù)成功了,返回值非零
如果函數(shù)失敗了,那么返回值為0.得到更多錯(cuò)誤信息,調(diào)用GetLastError函數(shù)
ConvertStringSecurityDescriptorToSecurityDescriptor
BOOL WINAPI ConvertStringSecurityDescriptorToSecurityDescriptor(_In_
LPCTSTR StringSecurityDescriptor,_In_
DWORD StringSDRevision,_Out_ PSECURITY_DESCRIPTOR *SecurityDescriptor,_Out_ PULONG SecurityDescriptorSize);Parameters StringSecurityDescriptor [in] 一個(gè)指向包含字符串形式的安全描述符的指針
StringSDRevision [in] 目前此值只能被設(shè)定為SDDL_REVISION_1 SecurityDescriptor [out]
一個(gè)指向變量的指針,用來(lái)接收安全描述符。
SecurityDescriptorSize [out]
一個(gè)指向變量的指針,用來(lái)接收安全描述符的大小(以字節(jié)數(shù)表示)。此值可以設(shè)為NULL,表示不需要這個(gè)值 Return value 如果函數(shù)成功,返回值為非零
如果函數(shù)失敗,那么返回值為0.要得到更多信息,調(diào)用GetLastError函數(shù),返回值可能如下:
ERROR_INVALID_PARAMETER
有一個(gè)參數(shù)是無(wú)效的
ERROR_UNKNOWN_REVISION
SDDL revision level 是無(wú)效的
ERROR_NONE_MAPPED
輸入的安全描述符字符串中的SID不能被找到
CreatePrivateNamespace HANDLE WINAPI CreatePrivateNamespace(_In_opt_ LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes,_In_
LPVOID lpBoundaryDescriptor,_In_
LPCTSTR lpAliasPrefix);Parameters lpPrivateNamespaceAttributes [in, optional]
一個(gè)指向SECURITY_ATTRIBUTES結(jié)構(gòu)的指針,描述了”命名空間對(duì)象”的安全屬性 lpBoundaryDescriptor [in]
一個(gè)邊界描述符,調(diào)用者必須在這個(gè)邊界內(nèi)。
lpAliasPrefix [in]
命名空間的前綴,以后要在這個(gè)命名空間內(nèi)創(chuàng)建內(nèi)核對(duì)象的時(shí)候只需要如下填寫對(duì)象名prefixobjectname
只要邊界描述符是不同的,不同命名空間的前綴可以相同。
Return value 如果函數(shù)成功了,那么會(huì)返回一個(gè)到新的命名空間對(duì)象的句柄
如果函數(shù)失敗了,那么函數(shù)會(huì)返回NULL,如果要得到更多的消息,那么調(diào)用GetLastError Remarks 其他應(yīng)用程序可以訪問(wèn)命名空間通過(guò)調(diào)用OpenPrivateNamespace 創(chuàng)建此命名空間的應(yīng)用程序可以調(diào)用ClosePrivateNamespace來(lái)關(guān)閉到該命名空間對(duì)象的句柄。當(dāng)這個(gè)進(jìn)程終止時(shí),這個(gè)句柄也會(huì)被關(guān)閉。在到命名空間的句柄關(guān)閉后,后續(xù)對(duì)OpenPrivateNamespace的調(diào)用會(huì)全部失敗,但是命名空間內(nèi)的對(duì)象上的操作可以成功。
第三篇:創(chuàng)建一個(gè)以你的名字命名的表空間
3、創(chuàng)建一個(gè)以你的名字命名的表空間,在此表空間增加一個(gè)數(shù)據(jù)文件。
4、分別設(shè)置表空間的狀態(tài)為脫機(jī)、只讀、讀寫和聯(lián)機(jī)方式。5、6、7、8、5、創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)test.上機(jī)任務(wù)4 Oracle 10g數(shù)據(jù)庫(kù)的角色和用戶創(chuàng)建及權(quán)限設(shè)置
1、用命令方式在此數(shù)據(jù)庫(kù)下創(chuàng)建一個(gè)以你的姓名縮寫為名稱的表空間。
2、在剛才創(chuàng)建好的表空間中創(chuàng)建一個(gè)以你的姓名縮寫為名稱的用戶,密碼為你的姓名縮寫加學(xué)號(hào)。
3、把對(duì)SCOTT.DEPT表中更新DNAME的權(quán)限授予你剛創(chuàng)建的用戶。
4、創(chuàng)建一個(gè)角色SUI使其對(duì)SCOTT.EMP的表有查詢、更新、插入的權(quán)利。
5、把這個(gè)創(chuàng)建好的角色授予給在步驟二中創(chuàng)建的用戶。
6、試著把創(chuàng)建表的管理權(quán)限授予你剛創(chuàng)建的用戶。
7、四、上機(jī)內(nèi)容(全部使用命令方式完成)
1、創(chuàng)建以你的名字命名的用戶名和以你的五個(gè)同學(xué)的名字命名的五個(gè)用戶。
2、在你的用戶名下創(chuàng)建USERS表。
3、在USERS表中插入三條數(shù)據(jù)。
4、創(chuàng)建一個(gè)以你的名字縮寫為名稱的角色。
5、把對(duì)表USERS的查詢、插入、刪除、更新的權(quán)限授予你剛創(chuàng)建的角色。
6、把角色授予你的五個(gè)同學(xué)。
7、把對(duì)表USERS刪除和插入權(quán)限從你五個(gè)同學(xué)那收回。
第四篇:C# System命名空間簡(jiǎn)介
System 命名空間 類
Activator 包含特定的方法,用以在本地或從遠(yuǎn)程創(chuàng)建對(duì)象類型,或獲取對(duì)現(xiàn)有遠(yuǎn)程對(duì)象的引用。
AppDomain 表示應(yīng)用程序域,它是一個(gè)應(yīng)用程序在其中執(zhí)行的獨(dú)立環(huán)境。不能繼承此類。AppDomainSetup 表示可以添加到 AppDomain 的實(shí)例的程序集綁定信息。
AppDomainUnloadedException 在嘗試訪問(wèn)已卸載的應(yīng)用程序域時(shí)引發(fā)的異常。ApplicationException 發(fā)生非致命應(yīng)用程序錯(cuò)誤時(shí)引發(fā)的異常。ArgumentException 在向方法提供的其中一個(gè)參數(shù)無(wú)效時(shí)引發(fā)的異常。
ArgumentNullException 當(dāng)將空引用(在 Visual Basic 中為 Nothing)傳遞給不接受它作為有效參數(shù)的方法時(shí)引發(fā)的異常。
ArgumentOutOfRangeException 當(dāng)參數(shù)值超出調(diào)用的方法所定義的允許取值范圍時(shí)引發(fā)的異常。
ArithmeticException 因算術(shù)運(yùn)算、類型轉(zhuǎn)換或轉(zhuǎn)換操作中的錯(cuò)誤而引發(fā)的異常。
Array 提供創(chuàng)建、操作、搜索和排序數(shù)組的方法,因而在公共語(yǔ)言運(yùn)行庫(kù)中用作所有數(shù)組的基類。
ArrayTypeMismatchException 當(dāng)試圖在數(shù)組中存儲(chǔ)類型不正確的元素時(shí)引發(fā)的異常。AssemblyLoadEventArgs 為 AssemblyLoad 事件提供數(shù)據(jù)。Attribute 自定義屬性的基類。
AttributeUsageAttribute 指定另一特性類的用法。無(wú)法繼承此類。
BadImageFormatException 當(dāng) DLL 或可執(zhí)行程序的文件圖像無(wú)效時(shí)引發(fā)的異常。BitConverter 將基礎(chǔ)數(shù)據(jù)類型與字節(jié)數(shù)組相互轉(zhuǎn)換。Buffer 操作基元類型的數(shù)組。
CannotUnloadAppDomainException 卸載應(yīng)用程序域的嘗試失敗時(shí)引發(fā)的異常。CharEnumerator 支持循環(huán)訪問(wèn) String 并讀取它的各個(gè)字符。
CLSCompliantAttribute 指示程序元素是否符合公共語(yǔ)言規(guī)范(CLS)。無(wú)法繼承此類。Console 表示控制臺(tái)應(yīng)用程序的標(biāo)準(zhǔn)輸入流、輸出流和錯(cuò)誤流。無(wú)法繼承此類。ContextBoundObject 定義所有上下文綁定類的基類。
ContextMarshalException 在嘗試將對(duì)象封送過(guò)上下文邊界失敗時(shí)引發(fā)的異常。ContextStaticAttribute 指示靜態(tài)字段的值是特定上下文的唯一值。Convert 將一個(gè)基本數(shù)據(jù)類型轉(zhuǎn)換為另一個(gè)基本數(shù)據(jù)類型。DBNull 表示空值。Delegate 表示委托,委托是一種數(shù)據(jù)結(jié)構(gòu),它引用靜態(tài)方法或引用類實(shí)例及該類的實(shí)例方法。DivideByZeroException 試圖用零除整數(shù)值或十進(jìn)制數(shù)值時(shí)引發(fā)的異常。
DllNotFoundException 當(dāng)未找到在 DLL 導(dǎo)入中指定的 DLL 時(shí)所引發(fā)的異常。
DuplicateWaitObjectException 當(dāng)對(duì)象在同步對(duì)象數(shù)組中不止一次出現(xiàn)時(shí)引發(fā)的異常。EntryPointNotFoundException 因不存在項(xiàng)方法而導(dǎo)致加載類的嘗試失敗時(shí)引發(fā)的異常。Enum 為枚舉提供基類。
Environment 提供有關(guān)當(dāng)前環(huán)境和平臺(tái)的信息以及操作它們的方法。不能繼承此類。EventArgs EventArgs 是包含事件數(shù)據(jù)的類的基類。Exception 表示在應(yīng)用程序執(zhí)行期間發(fā)生的錯(cuò)誤。
ExecutionEngineException 當(dāng)公共語(yǔ)言運(yùn)行庫(kù)的執(zhí)行引擎中發(fā)生內(nèi)部錯(cuò)誤時(shí)引發(fā)的異常。無(wú)法繼承此類。
FieldAccessException 當(dāng)試圖非法訪問(wèn)類中的私有字段或受保護(hù)字段時(shí)引發(fā)的異常。FlagsAttribute 指示可以將枚舉作為位域(即一組標(biāo)志)處理。
FormatException 當(dāng)參數(shù)格式不符合調(diào)用的方法的參數(shù)規(guī)范時(shí)引發(fā)的異常。GC 控制系統(tǒng)垃圾回收器(一種自動(dòng)回收未使用內(nèi)存的服務(wù))。
IndexOutOfRangeException 試圖訪問(wèn)索引超出數(shù)組界限的數(shù)組元素時(shí)引發(fā)的異常。無(wú)法繼承此類。
InvalidCastException 因無(wú)效類型轉(zhuǎn)換或顯式轉(zhuǎn)換引發(fā)的異常。
InvalidOperationException 當(dāng)方法調(diào)用對(duì)于對(duì)象的當(dāng)前狀態(tài)無(wú)效時(shí)引發(fā)的異常。
InvalidProgramException 當(dāng)程序包含無(wú)效 Microsoft 中間語(yǔ)言(MSIL)或元數(shù)據(jù)時(shí)將引發(fā)的異常。通常這表示編譯器中出現(xiàn)錯(cuò)誤。
LoaderOptimizationAttribute 用于為可執(zhí)行應(yīng)用程序的主方法設(shè)置默認(rèn)的加載程序優(yōu)化策略。LocalDataStoreSlot 封裝內(nèi)存槽以存儲(chǔ)本地?cái)?shù)據(jù)。無(wú)法繼承此類。
MarshalByRefObject 允許在支持遠(yuǎn)程處理的應(yīng)用程序中跨應(yīng)用程序域邊界訪問(wèn)對(duì)象。Math 為三角函數(shù)、對(duì)數(shù)函數(shù)和其他通用數(shù)學(xué)函數(shù)提供常數(shù)和靜態(tài)方法。MemberAccessException 訪問(wèn)類成員的嘗試失敗時(shí)引發(fā)的異常。
MethodAccessException非法嘗試訪問(wèn)類中的私有方法或受保護(hù)的方法時(shí)引發(fā)的異常。MissingFieldException 試圖動(dòng)態(tài)訪問(wèn)不存在的字段時(shí)引發(fā)的異常。
MissingMemberException 試圖動(dòng)態(tài)訪問(wèn)不存在的類成員時(shí)引發(fā)的異常。MissingMethodException 試圖動(dòng)態(tài)訪問(wèn)不存在的方法時(shí)引發(fā)的異常。
MTAThreadAttribute 指示應(yīng)用程序的 COM 線程模型為多線程單元(MTA)。
MulticastDelegate 表示多路廣播委托;即,其調(diào)用列表中可以擁有多個(gè)元素的委托。
MulticastNotSupportedException 當(dāng)試圖合并不可合并的委托類型的兩個(gè)實(shí)例時(shí)引發(fā)的異常,除非操作數(shù)中有一個(gè)是空引用(在 Visual Basic 中為 Nothing)。無(wú)法繼承此類。NonSerializedAttribute 指示可序列化類的某個(gè)字段不應(yīng)被序列化。無(wú)法繼承此類。
NotFiniteNumberException 當(dāng)浮點(diǎn)值為正無(wú)窮大、負(fù)無(wú)窮大或非數(shù)字(NaN)時(shí)引發(fā)的異常。
NotImplementedException 在無(wú)法實(shí)現(xiàn)請(qǐng)求的方法或操作時(shí)引發(fā)的異常。NotSupportedException 當(dāng)調(diào)用的方法不受支持,或試圖讀取、查找或?qū)懭氩恢С终{(diào)用功能的流時(shí)引發(fā)的異常。
NullReferenceException 嘗試取消引用空對(duì)象引用時(shí)引發(fā)的異常。
Object 支持.NET Framework 類層次結(jié)構(gòu)中的所有類,并為派生類提供低級(jí)別服務(wù)。這是.NET Framework 中所有類的最終基類;它是類型層次結(jié)構(gòu)的根。ObjectDisposedException 對(duì)已處置的對(duì)象執(zhí)行操作時(shí)所引發(fā)的異常。ObsoleteAttribute 標(biāo)記不再使用的程序元素。無(wú)法繼承此類。
OperatingSystem 表示有關(guān)操作系統(tǒng)的信息,如版本和平臺(tái)標(biāo)識(shí)符。OutOfMemoryException 沒有足夠的內(nèi)存繼續(xù)執(zhí)行程序時(shí)引發(fā)的異常。OverflowException 在選中的上下文中所進(jìn)行的算術(shù)運(yùn)算、類型轉(zhuǎn)換或轉(zhuǎn)換操作導(dǎo)致溢出時(shí)引發(fā)的異常。
ParamArrayAttribute 指示方法在調(diào)用中將允許參數(shù)的數(shù)目可變。無(wú)法繼承此類。PlatformNotSupportedException 當(dāng)功能未在特定平臺(tái)上運(yùn)行時(shí)所引發(fā)的異常。
Random 表示偽隨機(jī)數(shù)生成器,一種能夠產(chǎn)生滿足某些隨機(jī)性統(tǒng)計(jì)要求的數(shù)字序列的設(shè)備。RankException 將維數(shù)錯(cuò)誤的數(shù)組傳遞給方法時(shí)引發(fā)的異常。
ResolveEventArgs 為 TypeResolve、ResourceResolve 和 AssemblyResolve 事件提供數(shù)據(jù)。SerializableAttribute 指示一個(gè)類可以序列化。無(wú)法繼承此類。StackOverflowException 掛起的方法調(diào)用過(guò)多而導(dǎo)致執(zhí)行堆棧溢出時(shí)引發(fā)的異常。無(wú)法繼承此類。
STAThreadAttribute 指示應(yīng)用程序的 COM 線程模型是單線程單元(STA)。String 表示文本,即一連串 Unicode 字符。
SystemException 為 System 命名空間中的預(yù)定義異常定義基類。ThreadStaticAttribute 指示靜態(tài)字段的值對(duì)于每個(gè)線程都是唯一的。TimeZone 表示時(shí)區(qū)。Type 表示類型聲明:類類型、接口類型、數(shù)組類型、值類型和枚舉類型。
TypeInitializationException 作為由類初始值設(shè)定項(xiàng)引發(fā)的異常周圍的包裝引發(fā)的異常。無(wú)法繼承此類。
TypeLoadException 類型加載失敗發(fā)生時(shí)引發(fā)的異常。TypeUnloadedException 試圖訪問(wèn)已卸載的類時(shí)引發(fā)的異常。
UnauthorizedAccessException 當(dāng)操作系統(tǒng)因 I/O 錯(cuò)誤或指定類型的安全錯(cuò)誤而拒絕訪問(wèn)時(shí)所引發(fā)的異常。
UnhandledExceptionEventArgs 為以下情況下引發(fā)的事件提供數(shù)據(jù):存在一個(gè)不是由應(yīng)用程序域處理的異常。
Uri 提供統(tǒng)一資源標(biāo)識(shí)符(URI)的對(duì)象表示形式和對(duì) URI 各部分的輕松訪問(wèn)。
UriBuilder 為統(tǒng)一資源標(biāo)識(shí)符(URI)提供自定義構(gòu)造函數(shù),并修改 Uri 類的 URI。UriFormatException 當(dāng)檢測(cè)到無(wú)效的統(tǒng)一資源標(biāo)識(shí)符(URI)時(shí)引發(fā)的異常。ValueType 提供值類型的基類。
Version 表示公共語(yǔ)言運(yùn)行庫(kù)程序集的版本號(hào)。無(wú)法繼承此類。WeakReference 表示“弱引用”,即在引用對(duì)象的同時(shí)仍然允許對(duì)該對(duì)象進(jìn)行垃圾回收。接口
IAppDomainSetup 表示可以添加到 AppDomain 的實(shí)例的程序集綁定信息。IAsyncResult 表示異步操作的狀態(tài)。
ICloneable 支持克隆,即用與現(xiàn)有實(shí)例相同的值創(chuàng)建類的新實(shí)例。
IComparable 定義通用的比較方法,由值類型或類實(shí)現(xiàn)以創(chuàng)建類型特定的比較方法。IConvertible 定義特定的方法,這些方法將實(shí)現(xiàn)引用或值類型的值轉(zhuǎn)換為具有等效值的公共語(yǔ)言運(yùn)行庫(kù)類型。
ICustomFormatter 定義一種方法,它支持對(duì)象值的自定義(用戶定義)格式設(shè)置。IDisposable 定義一種釋放分配的非托管資源的方法。IFormatProvider 提供用于檢索控制格式化的對(duì)象的機(jī)制。IFormattable 提供將對(duì)象的值格式化為字符串表示形式的功能。IServiceProvider 定義一種檢索服務(wù)對(duì)象的機(jī)制,服務(wù)對(duì)象是為其他對(duì)象提供自定義支持的對(duì)象。
_AppDomain 表示應(yīng)用程序域,它是一個(gè)應(yīng)用程序在其中執(zhí)行的獨(dú)立環(huán)境。結(jié)構(gòu)
ArgIterator 表示變長(zhǎng)參數(shù)列表;即采用可變數(shù)量的參數(shù)的函數(shù)的參數(shù)。Boolean 表示布爾值。
Byte 表示一個(gè) 8 位無(wú)符號(hào)整數(shù)。Char 表示一個(gè) Unicode 字符。DateTime 表示時(shí)間上的一刻,通常以日期和當(dāng)天的時(shí)間表示。Decimal 表示十進(jìn)制數(shù)。
Double 表示一個(gè)雙精度浮點(diǎn)數(shù)字。Guid 表示全局唯一標(biāo)識(shí)符(GUID)。Int16 表示 16 位有符號(hào)的整數(shù)。Int32 表示 32 位有符號(hào)的整數(shù)。Int64 表示 64 位有符號(hào)的整數(shù)。
IntPtr 用于表示指針或句柄的平臺(tái)特定類型。RuntimeArgumentHandle 引用變長(zhǎng)參數(shù)列表。
RuntimeFieldHandle 使用內(nèi)部元數(shù)據(jù)標(biāo)記表示一個(gè)字段。
RuntimeMethodHandle RuntimeMethodHandle 是方法的內(nèi)部元數(shù)據(jù)表示形式的句柄。RuntimeTypeHandle 表示使用內(nèi)部元數(shù)據(jù)標(biāo)記的類型。SByte 表示 8 位有符號(hào)整數(shù)。Single 表示一個(gè)單精度浮點(diǎn)數(shù)字。TimeSpan 表示一個(gè)時(shí)間間隔。
TypedReference 描述既包含指向某位置的托管指針,也包含該位置可能存儲(chǔ)的類型的運(yùn)行時(shí)表示形式的對(duì)象。
UInt16 表示 16 位無(wú)符號(hào)整數(shù)。UInt32 表示 32 位無(wú)符號(hào)整數(shù)。UInt64 表示 64 位無(wú)符號(hào)整數(shù)。
UIntPtr 用于表示指針或句柄的平臺(tái)特定類型。
Void 指示不返回值的方法,即具有 void 返回類型的方法。委托
AssemblyLoadEventHandler 表示處理 AppDomain 的 AssemblyLoad 事件的方法。AsyncCallback 引用在異步操作完成時(shí)調(diào)用的回調(diào)方法。
CrossAppDomainDelegate 由 DoCallBack 使用,用于跨應(yīng)用程序域的調(diào)用。EventHandler 表示將處理不包含事件數(shù)據(jù)的事件的方法。
ResolveEventHandler 表示處理 AppDomain 的 TypeResolve、ResourceResolve 和 AssemblyResolve 事件的方法。
UnhandledExceptionEventHandler表示將處理事件的方法,該事件由應(yīng)用程序域不處理的異常引發(fā)。枚舉
AttributeTargets 指定可以對(duì)它們應(yīng)用特性的應(yīng)用程序元素。DayOfWeek 指定一周的某天。
Environment.SpecialFolder 指定用于檢索系統(tǒng)特殊文件夾的目錄路徑的枚舉常數(shù)。LoaderOptimization 一個(gè)枚舉,它與 LoaderOptimizationAttribute 類一起使用為可執(zhí)行文件指定加載程序優(yōu)化。
PlatformID 描述程序集所支持的平臺(tái)。TypeCode 指定對(duì)象的類型。
UriHostNameType 為 Uri.CheckHostName 方法定義主機(jī)名類型。UriPartial 為 Uri.GetLeftPart 方法定義 URI 的各部分。
第五篇:分布式文件系統(tǒng)命名空間解析
分布式文件系統(tǒng)命名空間解析
近年,微軟對(duì)其分布式文件系統(tǒng)(Distributed File System,DFS)做了很多改良,其中的一項(xiàng)技術(shù)對(duì)文件系統(tǒng)資源提供了統(tǒng)一視圖。DFS重新定向了來(lái)自UNC途徑的請(qǐng)求,其中一個(gè)網(wǎng)絡(luò)驅(qū)動(dòng)映射到請(qǐng)求資源所在的網(wǎng)絡(luò)共享。這樣的結(jié)果是你可以添加文件服務(wù)器到網(wǎng)絡(luò)或者不用影響用戶訪問(wèn)文件的方式就能強(qiáng)化現(xiàn)有的文件服務(wù)器。重定向請(qǐng)求到文件實(shí)際位置的UNC途徑就是DFS命名空間。本質(zhì)上,DFS命名空間是為用戶呈現(xiàn)文件服務(wù)器資源集中化視圖的統(tǒng)一命名空間。一個(gè)DFS命名空間由很多部分組成。DFS根DFS命名空間本質(zhì)上是分等級(jí)的,最頂端的是DFS根。在實(shí)際運(yùn)用中,可以認(rèn)為根和命名空間是一樣的,因?yàn)楦S脕?lái)指代整個(gè)命名空間。DFS根是一個(gè)共享文件,它必須存在于NTFS卷中。DFS根鏈接到一個(gè)或多個(gè)根目標(biāo),而根目標(biāo)則鏈接到一個(gè)文件服務(wù)器上的UNC共享。一個(gè)DFS根可以鏈接的根目標(biāo)數(shù)量由DFS根相關(guān)的命名空間類型決定。DFS命名空間有兩個(gè)類型:獨(dú)立命名空間和基于域的命名空間。獨(dú)立命名空間存儲(chǔ)他們?cè)谥鳈C(jī)服務(wù)器注冊(cè)表中的配置信息。基于域的命名空間存儲(chǔ)在活動(dòng)目錄數(shù)據(jù)庫(kù)中的信息。這個(gè)區(qū)別影響連接到DFS根的根目標(biāo)數(shù)量。獨(dú)立DFS根只能包含一個(gè)單一根目標(biāo),而基于域的DFS根只包含通過(guò)多個(gè)服務(wù)器分離的多個(gè)根目標(biāo)。下面的圖1展示了一個(gè)基于域的DFS根。很明顯這是基于域的,因?yàn)檫@個(gè)根的名字(//lab.com/namespace)反映了域的名字。中心方格顯示兩個(gè)UNC途徑,并且兩個(gè)途徑都像根目標(biāo)一樣鏈接到DFS根。圖1:DFS根連接到一個(gè)或多個(gè)根目標(biāo)DFS命名空間里的文件或鏈接在分級(jí)中的下一個(gè)元素是文件或鏈接(正如它有時(shí)候所指的)。在DFS命名空間中的每個(gè)文件都映射到鏈接目標(biāo),正如DFS根映射到根目標(biāo)。鏈接目標(biāo)指向一個(gè)映射到物理文件夾的UNC共享。在圖2 中,三個(gè)文件(文件
1、文件2和文件3)都被定義在DFS根下(注意,我已經(jīng)選了文件1)??刂婆_(tái)的中央窗口列出了映射到文件的鏈接目標(biāo)。圖2:每個(gè)文件都映射到鏈接目標(biāo)如你所見,這個(gè)鏈接目標(biāo)不過(guò)是一個(gè)映射到共享文件的UNC途徑。另外要注意,在控制臺(tái)的中央窗口中,為鏈接目標(biāo)展示了各種各樣的信息,包括類型、途徑和提交狀態(tài)。由于一個(gè)文件可以和不同服務(wù)器上的多個(gè)鏈接目標(biāo)連接,所以提交狀態(tài)存在。這樣做了之后,你可以為鏈接目標(biāo)創(chuàng)建一個(gè)復(fù)制組,且復(fù)制組會(huì)保持多種文件內(nèi)容與其它文件之間的同步。圖3展示的就是一個(gè)有多個(gè)鏈接目標(biāo)的文件。圖3:多個(gè)鏈接目標(biāo)兩個(gè)鏈接目標(biāo)的提交狀態(tài)都是有效的(Enabled)。這意味著DFS可以向任意一個(gè)目標(biāo)指定資源請(qǐng)求。因此,如果一個(gè)文件服務(wù)器必須離線維修,這個(gè)服務(wù)器的提交狀態(tài)就變成無(wú)效,而DFS會(huì)停止向該服務(wù)器發(fā)送請(qǐng)求,直到提交狀態(tài)再次變?yōu)橛行?。NTFS級(jí)別的DFS命名空間上述因素組成了DFS命名空間。在圖4中,你可以看到NTFS級(jí)別的命名空間是什么樣子的。圖4:驅(qū)動(dòng)C盤上的DFS內(nèi)容注意名為Dfsroots的文件,它下面的那個(gè)文件就叫Namespace(命名空間)。當(dāng)我創(chuàng)建根時(shí)DFS自動(dòng)創(chuàng)建這些文件。Namespace文件實(shí)際上是共享的,但是文件系統(tǒng)隱藏了該共享。最后要注意,在命名空間下面有到文件
1、文件2和文件3的快捷鍵.這些都是在DFS管理控制臺(tái)中指定的目標(biāo)文件。在圖的底部是這三個(gè)文件夾的另一個(gè)列表,它實(shí)際上是在驅(qū)動(dòng)C盤上的共享文件。我剛剛提到的快捷鍵映射到這些共享文件夾。