コード例 #1
0
ファイル: Drive.cpp プロジェクト: DeezNuts12/freestyledash
HRESULT Drive::Unmount( )
{
	char MountConv[16];
	sprintf_s( MountConv,"\\??\\%s", m_MountPoint.c_str() );

	STRING sMountConv = { (USHORT)strlen(MountConv), (USHORT)strlen(MountConv) + 1, MountConv };
	return ( HRESULT )  ObDeleteSymbolicLink( &sMountConv );
}
コード例 #2
0
ファイル: platform_xdk.cpp プロジェクト: Ced2911/RetroArch
HRESULT xbox_io_mount(const char* szDrive, char* szDevice)
{
	STRING DeviceName, LinkName;
	CHAR szDestinationDrive[PATH_MAX_LENGTH];
	sprintf_s(szDestinationDrive, PATH_MAX_LENGTH, "\\??\\%s", szDrive);
	RtlInitAnsiString(&DeviceName, szDevice);
	RtlInitAnsiString(&LinkName, szDestinationDrive);
	ObDeleteSymbolicLink(&LinkName);
	return (HRESULT)ObCreateSymbolicLink(&LinkName, &DeviceName);
}
コード例 #3
0
HRESULT UnmountPath( const PCHAR szDrive )
{
	PCHAR szSysStr = NULL;
	if ( KeGetCurrentProcessType() == SYSTEM_PROC )
		szSysStr = "\\System??\\%s";
	else
		szSysStr = "\\??\\%s";

	CHAR szDestinationDrive[ MAX_PATH ];
	sprintf_s( szDestinationDrive, MAX_PATH, szSysStr, szDrive );

	STRING strLinkName = MAKE_STRING( szDestinationDrive );

	return ObDeleteSymbolicLink( &strLinkName );
}