// NTHardLink.cpp : Implementation of CHardLink
#include "stdafx.h"
#include "HardLink.h"
#include "NTHardLink.h"
/////////////////////////////////////////////////////////////////////////////
// CHardLink
STDMETHODIMP CHardLink::CreateNewHardLink(BSTR bstrFileName,
BSTR bstrExistingFileName)
{
USES_CONVERSION;
if (bstrFileName==NULL || bstrExistingFileName==NULL)
return E_INVALIDARG;
// Convert from BSTR to ANSI strings
TCHAR pszFileName[MAX_PATH], pszExistingFileName[MAX_PATH];
lstrcpy(pszFileName, OLE2T(bstrFileName));
lstrcpy(pszExistingFileName, OLE2T(bstrExistingFileName));
// Try to create the hard link to the specified file
BOOL b;
b = CreateHardLink(pszFileName, pszExistingFileName, NULL);
if (b)
return S_OK;
return E_FAIL;
}
Figure 7 Creating Hard Links
/////////////////////////////////////////////////////////////
// WSH JScript file
//
// Create hard links for the specified files
// Requires Windows 2000
// Usage: TESTHL new_file existing_file
//
// Two arguments needed
if (WScript.Arguments.Length != 2)
WScript.Quit();
// Literals
var L_NO_HL_CREATED = "Unable to create hard link.";
// Create the object
var oHL = WScript.CreateObject( "HardLink.Object.1" );
// Get the arguments from the command line
var sNewFile = WScript.Arguments.Item(0)
var sExistingFile = WScript.Arguments.Item(1)
// Try to create the hardlink
bResult = oHL.CreateNewHardLink(sNewFile, sExistingFile);
if (bResult == 0)
WScript.Echo(L_NO_HL_CREATED)
WScript.Quit();
Figure 8 New Features of Windows 2000
SDK | Description |
Fax Services |
Provides support for developing fax client applications. |
IP Helper Functions |
Retrieves and modifies settings for the TCP/IP protocol. |
Cryptographic Services |
Provides services to implement authentication, encoding, and encryption. |
Collaboration Data Objects |
COM objects that allow applications to send and receive email messages. |
VLM |
Allows applications to access very large caches of data. |
TAPI 3.0 |
New and COM-based telephony API. |
Sockets |
API to access standard network services, including transport protocols. |
DirectX 6.0 |
Enhanced API that highly improves DirectDraw and Direct3D. |
Smart Cards |
Provides a standard model for interfacing smart card readers. |
Windows Installer |
Allows just-in-time installation that installs components on the local disk as soon as they are required. |
Multiple Monitors |
Provides support for multiple display adapters and monitors on the same PC to create a single, all-encompassing virtual desktop. |
Native Structured Storage |
New implementation of OLE structured storage. |
Job Objects |
API to manage groups of processes as a single unit. |
Product or Technology |
Description |
IIS 5.0 |
New version of the Microsoft server platform for Web applications. Now runs as a Windows NT service. |
Microsoft Transaction Server 2.0 |
Component-based transaction processing system. |
Microsoft Message Queue Server 2.0 |
Message Queuing server to be used in distributed applications. |
Index Server 3.0 |
Indexes the contents of all drives on the computer where it is installed facilitating text search. |
Internet Explorer 5.0 |
The Microsoft Web browser. |
Management Console |
Extensible environment for running systems management component-based applications called snap-ins. |
Proxy Server 2.0 |
System integrated module to deliver high-performance Internet access. |
Function |
Description |
AllowSetForegroundWindow |
Allows another process to bring its windows to the foreground. |
PrintDlgEx |
New version of the Print common dialog. |
GetComputerNameEx |
Retrieves fully qualified, host, and domain DNS names for a computer. |
SetLayout |
Sets the layout of a device context that specifies how text and graphics are laid out. |
OpenThread |
Opens a thread object and returns a handle to it. |
ReplaceFile |
Replaces a given file with another one. |
VerifyVersionInfo |
Verifies whether the version information of the current OS matches the specified params. |
GetLongPathName |
Retrieves the long name of a file starting from its 8.3 short name. |
AnimateWindow |
Applies an animation effect when a window is shown or hidden. |
TransparentBlt |
Enhanced version of BitBlt that uses a background transparent color. |
GradientFill |
Fills screen areas by fading two colors. |
GetMouseMovePoints |
Retrieves all the points traversed by the mouse in its movements. |
FlashWindowEx |
Flashes the window caption to notify events. |