ExpTranslateArcPath
NTSTATUS __stdcall ExpTranslateArcPath(
_FILE_PATH *InputPath,
UINT64 OutputType,
_FILE_PATH *OutputPath,
UINT64 *OutputPathLength){
unsigned int v6;
NTSTATUS result;
unsigned int Type;
UINT64 DeviceNameCount;
UINT64 pDeviceNameCount;
WCHAR *ppPathName;
WCHAR *ppDeviceName;
UINT8 pSignatureFormat;
ppDeviceName = 0i64;
ppPathName = 0i64;
LODWORD(pDeviceNameCount) = 0;
v6 = OutputType;
pSignatureFormat = 0;
result = ExpParseArcPathName(
(WCHAR *)InputPath->FilePath,
&ppDeviceName,
&ppPathName,
&pDeviceNameCount,
&pSignatureFormat);
if( result >= 0 )
{
Type = InputPath->Type;
if( !pSignatureFormat )
{
if( Type == 1 )
{
LODWORD(DeviceNameCount) = pDeviceNameCount;
return ExpConvertArcName(v6, OutputPath, OutputPathLength, ppDeviceName, ppPathName, DeviceNameCount);
}
return -1073741811;
}
if( Type != 2 )
return -1073741811;
LODWORD(DeviceNameCount) = pDeviceNameCount;
return ExpConvertSignatureName(v6, OutputPath, OutputPathLength, ppDeviceName, ppPathName, DeviceNameCount);
}
return result;
}Referenced by:
NtTranslateFilePath