internal static extern bool DeviceIoControl ( SafeHandle hDevice, IOCTL dwIoControlCode, ref STORAGE_PROPERTY_QUERY lpInBuffer, int nInBufferSize, out STORAGE_DEVICE_DESCRIPTOR_HEADER lpOutBuffer, int nOutBufferSize, out uint lpBytesReturned, IntPtr lpOverlapped);
internal static extern bool DeviceIoControl ( SafeHandle hDevice, IOCTL dwIoControlCode, IntPtr lpInBuffer, int nInBufferSize, IntPtr lpOutBuffer, int nOutBufferSize, out uint lpBytesReturned, IntPtr lpOverlapped);
public static extern bool DeviceIoControl(SafeFileHandle hDevice, IOCTL IoControlCode, IntPtr InBuffer, int nInBufferSize, out KEYBOARD_INDICATOR_PARAMETERS OutBuffer, int nOutBufferSize, out int pBytesReturned, IntPtr Overlapped);
private static extern bool DeviceIoControl(SafeFileHandle hDevice, IOCTL command, ref SubChannelRequest request, int requestSize, out MMC.SubChannelISRC data, int dataSize, out int pBytesReturned, IntPtr overlapped);
private static extern bool DeviceIoControl(SafeFileHandle hDevice, IOCTL command, ref TOCRequest request, int nInBufferSize, out MMC.TOCDescriptor data, int dataSize, out int pBytesReturned, IntPtr overlapped);
private static extern int SendSCSIRequest(int fd, IOCTL command, ref SCSIRequest request);
private static extern int SendIORequest(int fd, IOCTL command, ref ReadSubChannelRequest request);
private static extern int SendIORequest(int fd, IOCTL command, ref TOCEntriesRequest request);
private static extern int SendIORequest(int fd, IOCTL command, ref TOCHeaderRequest request);