* 请看源码 *
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <Winbase.h>
#include <stdio.h>
#pragma comment (lib,"Kernel32.lib")
#define BUFSIZE 1024
void Syntax (char *argv)
{
printf( "%s, mount a volume at a mount point.\n", argv );
printf( "For example, \"mount c:\\mnt\\fdrive\\ f:\\\"\n" );
}
int main( int argc, char *argv[] )
{
BOOL bFlag;
char Buf[BUFSIZE]; // temporary buffer for volume name
if( argc != 3 )
{
Syntax( argv[0] );
return( -1 );
}
// We should do some error checking on the inputs. Make sure
// there are colons and backslashes in the right places, etc.
bFlag = GetVolumeNameForVolumeMountPoint(
argv[2], // input volume mount point or directory
Buf, // output volume name buffer
BUFSIZE // size of volume name buffer
);
if (bFlag != TRUE)
{
printf( "Retrieving volume name for %s failed.\n", argv[2] );
return (-2);
}
printf( "Volume name of %s is %s\n", argv[2], Buf );
bFlag = SetVolumeMountPoint(
argv[1], // mount point
Buf // volume to be mounted
);
if (!bFlag)
printf ("Attempt to mount %s at %s failed.\n", argv[2], argv[1]);
return (bFlag);
}
这是MSDN 中的一段程序,但就是不能通过编译,说SetVolumeMountPoint
与GetVolumeNameForVolumeMountPoint没定义,我头文件都包含了呀。我的
系统是WIN2000 pro