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