public extern static int DeviceIoControl( System.IntPtr hDevice, int dwIoControlCode, TXFS_START_RM_INFORMATION lpInBuffer, int nInBufferSize, System.IntPtr lpOutBuffer, int nOutBufferSize, ref int lpBytesReturned, LPOVERLAPPED lpOverlapped);
public static extern DWORD DeviceIoControl( SafeFileHandle hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, int nOutBufferSize, ref DWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
static extern bool DeviceIoControl( SafeFileHandle hDevice, DWORD dwIoControlCode, ref StorageAPI.STORAGE_PROPERTY_QUERY lpInBuffer, DWORD nInBufferSize, out StorageAPI.STORAGE_DEVICE_ID_DESCRIPTOR lpOutBuffer, int nOutBufferSize, ref DWORD lpBytesReturned, LPOVERLAPPED lpOverlapped );
public extern static int ReadFile(System.IntPtr hFile, byte[] lpBuffer, int nNumberOfBytesToRead, ref int lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped);
public extern static int WriteFile(System.IntPtr hFile, byte[] lpBuffer, int nNumberOfBytesToWrite, ref int lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped);