1)NTFS(Windows NT File System)文件系统:Windows
NT采用的新型文件系统。可提供安全存取控制及容错能力,在大容量磁盘上,它的效率比FAT高。
(2)网络共享:对网络资源设置一定的权限许可,没有得到权限许可,就无法访问网络资源。
(3)用户安全(User Account):要想使用网络资源,必须有用户账户。Windows
NT对用户和服务程序,都要求提供合法账户。专为应用程序或服务进程创建的账户即服务账户,在系统启动时,服务进程使用服务账户登录以获得在系统中使用资源的权利和权限。普通用户账户由用户登录时提供,用于Windows
NT控制该用户在系统中的权利和权限,与服务账户本质上无区别。
(4)域(Domain):是Windows
NT中数据安全和集中管理的基本单位。网络由域组成,域具有唯一的名称。域可以看作由运行NT的服务器组成的系统,一组电脑共用相同的账户及安全数据库。
主要的了!
<Dbconnectstring>Data Source=127001;User ID=sa;Password=123;Initial Catalog=dnt31;Pooling=true</Dbconnectstring>
论坛文件目录下面DNTconfig文件里面有上面一行配置数据库 你看下数据库用户连接对不对。
char str[] = “Hello” ; char p = str ;int n = 10;请计算sizeof (str ) = sizeof ( p ) = sizeof ( n ) = void Func ( char str[100]){请计算 sizeof( str ) = } void p = malloc( 100 );请计算sizeof ( p ) =
Windows NT服务程序不同于一般的运行程序,它不需要NT登录进去,只需要开机进入NT系统便可以运行,一般用于系统服务方面的应用,学会编写NT服务程序对网络管理人员而言是非常重要的,Delphi作为一种高效、快速、强大的开发语言,为开发NT服务程序提供了非常便捷的方法,加上其可视化界面以及与数据库的完美结合,使我们开发与数据库有关的NT服务程序变得非常简单,下面以编写一个NT定期备份程序为例,介绍如何运用Delphi编写Windows NT的服务程序。
打开Delphi编辑器,选择菜单中的File|New,在New Item中选择Service Application项,Delphi便自动为你建立一个基于TServiceApplication的新工程,TServiceApplication是一个封装NT服务程序的类,它包含一个TService1对象以及服务程序的装卸、注册、取消方法。
将TService1对象的属性做下列更改:
DisplayName与Name改为:DataBackup,ServiceStartName属性改为系统管理员用户(如DOMAIN\Administrator)和Password则输入用户密码
这样,服务程序运行时将自己以该用户的权限 *** 作NT。
这样,一个NT服务程序编写已经完成,在Delphi编辑器中选择菜单Run|Parameters,在Parameters中输入/install,程序编译运行后,一个名为DataBackup的NT服务程序已经安装好,你可以双击控制面板中的服务项目,将会看到此服务程序,只是此服务程序没有任何东西而已;在Delphi编辑器中选择菜单Run|Parameters,在Parameters中输入/uninstall,程序编译运行后,系统将会将此服务程序卸掉。
服务程序是通过控制一个线程的生成、暂停、继续、停止来达到服务目的的,因此我们必须加入一个TSession对象来编写文件自动备份代码,在Delphi编辑器中选择菜单中的File|New,在New Item中选择Thread Object项,Delphi会提示你为该TSession对象输入一个名称(输入DataCopy),Delphi便生成了一个基于TSession的DataCopy对象,并提供了一个Execute过程供重载,我们要Execute过程中输入以下程序:
var
Hour, Min, Sec, MSec: Word;
TimeStamp, DirectoryEdit1, DirectoryEdit2: String;
SearchRec: TSearchRec;
Source, Temp, Dest: Pchar;
F, F1: THandle;
FF, FF1: WIN32_FIND_DATA;
Begin
// 每次文件备份执行时间
TimeStamp:= '12:00';
// 文件备份源目录
DirectoryEdit1:= 'C:\temp';
// 文件备份目录
DirectoryEdit2:= 'C:\temp1';
While True do
Begin
DecodeTime(Time, Hour, Min, Sec, MSec);
IF Trim(TimeStamp) = Format('%-22d:%-22d',[Hour, Min]) then
Begin
GetMem(Source, 250);
GetMem(Dest, 250);
GetMem(Temp, 250);
StrPcopy(Dest, DirectoryEdit2 + '\' + FormatDateTime('YYYYMMDD', Date));
CreateDirectory(Dest, Nil);
IF FindFirst(DirectoryEdit1 + '\', faAnyFile, SearchRec) = 0 then
Begin
Repeat
StrPcopy(Source, DirectoryEdit1 + '\' + SearchRecName);
StrPcopy(Dest, DirectoryEdit2+'\' + FormatDateTime('YYYYMMDD', Date) + '\' + SearchRecName);
CopyFile(Source, Dest, False);
Until FindNext(SearchRec) <> 0;
end;
SysUtilsFindClose(SearchRec);
FindClose(F);
FreeMem(Source, 250);
FreeMem(Dest, 250);
FreeMem(Temp, 250);
end;
Sleep(60000);
end;
end;
此线程执行时每隔一分钟将检查一次时间,看是否到了备份时间,如果是则将DirectoryEdit1中的所有文件拷到DirectoryEdit2目录中去。
现在编写服务控制DataCopy线程的代码,在TdataBackup对象中的OnStart、OnStop、OnPause、OnContinue事件中分别输入如下代码:
Procedure TDataBackupDataBackupStart(Sender: TService;
var Started: Boolean);
begin
DataThread:= TDataCopyCreate(False);
Started := True;
end;
procedure TDataBackupDataBackupStop(Sender: TService;
var Stopped: Boolean);
begin
DataThreadTerminate;
Stopped := True;
end;
procedure TDataBackupDataBackupPause(Sender: TService;
var Paused: Boolean);
begin
DataThreadSuspend;
Paused := True;
end;
procedure TDataBackupDataBackupContinue(Sender: TService;
var Continued: Boolean);
begin
DataThreadResume;
Continued := True;
end;
这样一个文件自动备份程序已经完成,编译好后,加上/install参数执行程序,系统会将此服务程序安装,由于服务程序中StartType属性为stAuto,NT每次启动时,此程序自动执行,你可以在控制面板中的服务项目来启动、暂停、恢复、停止它,也可以加上/uninstall参数执行程序来卸掉它。通过上述例子我们可以看到,用Delphi编写NT服务器程序十分方便,而且你也可以在TService对象上加许多非可视化控件来与数据库关联,实现很多复杂的功能。
Windows *** 作系统在运行时出现NT AUTHORITY\SYSTEM错误信息。这是由于 *** 作系统中的RPC协议的一个问题造成的。系统会持续自动重新启动直到采取以下正确的有效措施。
1、将电脑与互连网断开物理连接。
2、关闭相应的端口。
3、下载微软补丁程序。
注: 以下文档详细描述各个步骤。
- 必须用有管理员权限的用户登录系统以进行以下 *** 作。
将电脑与互连网断开物理连接
1、断开电脑后端的任何网线。
2、系统在重新启动后将不在显示‘系统关机’的错误信息。若系统仍然显示‘系统关机’的错误信息,应该还有活动的连接与互连网相连。检查并断开所有的电脑与互连网的网线连接。
关闭相应的端口
在安装补丁程序前,为防止在连接网线的情况下继续出现以上问题,有两种方法可以停止‘系统关机’的信息:
方法一(在XP下):手动配置因特网连接防火墙
1、按以下步骤,为每个连接手动配置因特网连接防火墙。
2、点击开始按钮,然后点击帮助和支持。d出帮助和支持的窗口。
3、点击网络,然后点击家庭和小型公司网络。
4、点击设置防火墙。
5、在右边的方格里,选中启用或禁用因特网连接防火墙。
6、按照屏幕上的提示启用防火墙。
方法二(在2000和XP下):禁用DCOM
在系统中手动地启用或禁用DCOM,需要运行Dcomcnfgexe
(在Windows 2000下)
1、点击开始按钮,点击运行,在打开的窗口中输入Dcomcnfgexe。点击确定。
2、在控制台的窗口,选择默认属性选项卡。
3、清除在这台计算机上启用分布式 COM前的复选框。
4、点击确定,退出。
(在Windows XP下)
1、点击开始按钮,点击运行,在打开的窗口中输入Dcomcnfgexe。点击确定。
2、单击“控制台根节点”下的“组件服务”。
3、打开“计算机”子文件夹。
4、对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。
5、对于远程计算机,请以右键单击“计算机”文件夹,然后选择“新建”,再选择“计算机”。输入计算机名称。以右键单击该计算机名称,然后选择“属性”。
6、选择“默认属性”选项卡。
7、清除在这台计算机上启用分布式 COM前的复选框。
8、点击确定,退出。
载补丁程序
1、重新连上网线。
2、登录以下网址:请从以下网址下载补丁程序:
适用中文版
Windows XP
>
访问注册表性能蜂巢获取性能数据
1、注册表性能蜂巢
在NT的注册表中有一类特殊的蜂巢,它就是性能蜂巢HKEY_PERFORMANCE_DATA。说它特殊是因为,此蜂巢不同于其它的蜂巢如HKEY_LOCAL_MACHINE、HKEY_CURRENT_USER等,用户使用注册表编辑器无法看到此蜂巢,只能够通过Registry API函数来访问它。虽然HKEY_PERFORMANCE_DATA是一个与性能数据相关的蜂巢,但NT的性能数据实际上不是以硬件或软件参数的方式存储在注册表中的,程序通过使用带HKEY_PERFORMANCE_DATA键的 Win32 Registry API函数使系统收集合适的系统对象管理器中的数据。
2、收集性能数据方法
如果是收集本地系统的性能数据,可以使用带有参数HKEY_PERFORMANCE_DATA 键的RegQueryValueEx函数,在完成收集工作后一定要使用RegCloseKey关闭。如要访问远程系统的性能数据,则必须使用带有远程系统机器名字和HKEY_PERFORMANCE_DATA 键的RegConnectRegistry函数。该函数返回代表远程系统性能数据的句柄,作为随后调用RegQueryValueEx函数的参数(而不是使用HKEY_PERFORMANCE_DATA 键)。
使用PDHDLL动态链接库中的API函数获取性能数据
PDH(Performance Data Helper)库的实现也是通过访问注册表获取性能参数,只不过它的API函数对用户屏蔽了很多的实现细节,使得编程的界面更简单、易于 *** 作。在VC++50中只包括有pdhh和pdhlib,而pdhdll在Win32 SDK中有,其函数都以Pdh开头。使用PDH库获取性能数据的步骤如下:
(1) 创建一个计数器队列,并添加要采样计数器
(2) 收集性能数据
(3) 计算、显示最终结果
(4) 结束性能数据收集
下面给出用PDH库中API实现上面的方法完成的获取处理器时间%Processor Time的代码。
static HQUERY hQuery = NULL;
CString name; // 机器名
HCOUNTER hCounter;
PDH_STATUS pdhStatus;
PDH_COUNTER_PATH_ELEMENTS pdh_Path;
DWORD dwType;
PDH_FMT_COUNTERVALUE pValue;
CHAR szCounterBuffer[MAX_PATH];
DWORD length = MAX_PATH;
name = "\\"+name;
pdh_PathszMachineName = nameGetBuffer(nameGetLength());
pdh_PathszObjectName = "Processor";
pdh_PathszInstanceName = "0";
pdh_PathszParentInstance = NULL;
pdh_PathdwInstanceIndex = 0;
pdh_PathszCounterName = "% Processor Time";
// 产生完整的路径
PdhMakeCounterPath ( &pdh_Path, szCounterBuffer, &length, 0);
// 初始化打开 (1 )
pdhStatus = PdhOpenQuery (NULL, 0, &hQuery);
// 添加要采样的计数器
pdhStatus = PdhAddCounter (hQuery, szCounterBuffer, 0, &hCounter);
…
// 第一次采样数据(2)
pdhStatus = PdhCollectQueryData (hQuery);
Sleep(1000); // 采样间隔
// 采样数据循环
while(bStop)
{
// 采样
pdhStatus = PdhCollectQueryData (hQuery);
…
// 计算最终结果(3)
// PdhGetFormattedCounterValue函数针对最近的采样结果进行计算
pdhStatus = PdhGetFormattedCounterValue( hCounter,
PDH_FMT_DOUBLE,
&dwType,
&pValue);
if(pValuedoubleValue<0) pValuedoubleValue = (FLOAT)00f;
…
Sleep(1000); // 采样间隔
}
// 结束收集 (4)
PdhCloseQuery(hQuery);
下载的驱动文件进行安装
1、系统内没有打印机驱动程序,又没有驱动光盘,可到“驱动之家”下载,下载后解压备用,要记下该文件存放的在方,如,D:\……\……。
2、“开始”—“打印机和传真”,点击左边窗格中“添加打印机”, 打开“欢迎添加打印机向导”对话框,点击“下一步”,打开“本地或网络打印机”选择连接对话框;
3、选择第一项“连接到此计算机的本地打印机”,勾选“自动检测并安装即插即用打印机”,点“下一步”,打开“新打印机检测”对话框;
4、检测后,打“下一步”,打开“选择打印机端口”对话框;
5、点选“使用以下端口”,在右边的下拉列表中
选择推荐的打印机端口“LPT1:”,点击“下一步”,打开“安装打印机软件”对话框;
6、在“安装打印机软件”对话框中,选择“从磁盘安装”,打开“从磁盘安装”对话框,在“厂商文件复制来源”下拉列表中指定文件路径(如,A:\ ,D:\……\……)击“确定”对话框,系统即自动搜索安装。
NT引导模式是微软的windows系列的引导程序,只能专门用于微软系统的引导。 MBR引导模式是第三方的引导模式,比nt引导模式优先,可以用来做多系统启动用。
麻烦采纳,谢谢!
以上就是关于Windows NT *** 作系统中的NT是什么全部的内容,包括:Windows NT *** 作系统中的NT是什么、DISCUZ!NT 3.6.711在安装程序的时候“数据库配置”连接错误(SQL Server 2005),请问这个有什么办法可以解、以下为WindowsNT下的32位C++程序,请计算sizeof的值.向高手求助~等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)