Technical Note: XTN1404

Using XenData C++ API via Network with Windows 2012 R2 onwards

Updated Nov. 24, 2014

Introduction
On Windows 2012R2 private IOCTL calls succeed locally but fail with ERROR_NOT_SUPPORTED when the call is made through a share, or a UNC path. This is becuase of some extra security in Windows 2012 where it blocks private IOCTLs sent via a CIFS share or UNC path.

Solution
The solution to this is to edit the registry to allow the XenData calls through the SMB Server.

First download the XD_IOctlPassThrough.reg file. Right click on the link below and save as XD_IOctlPassThrough.reg.

» Download XD_IOctlPassThrough.reg

Now copy the file on to the XenData server and open regedit. Once open, select "File" followed by "Import". Browse to the downloaded file and select "OK". This will import the relevant entries into the registry.

To check this go to the following key:

HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\LanmanServer\
Parameters\FsctlAllowlist

In here you should have 160 new entries, one for each of the XenData API calls.

Caution
Incorrectly editing the registry may severely damage your system. Before making changes to the registry, you should back up any valued data on your computer.

Applicable Operating Systems

  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019

Applicable XenData Software
This technical note is applicable to:

  • Version 6 – Server Editions of Archive Series software
  • Version 7 – Server Editions of Archive Series software including the Cloud File Gateway