2024年3月31日发(作者:)

using System;

using pServices;

using ;

namespace re

{

[Serializable]

public struct HardDiskInfo

{

///

/// 型号

///

public string ModuleNumber;

///

/// 固件版本

///

public string Firmware;

///

/// 序列号

///

public string SerialNumber;

///

/// 容量,以M为单位

///

public uint Capacity;

}

#region Internal Structs

[StructLayout(tial, Pack=1)]

internal struct GetVersionOutParams

{

public byte bVersion;

public byte bRevision;

public byte bReserved;

public byte bIDEDeviceMap;

public uint fCapabilities;

[MarshalAs(rray, SizeConst=4)]

public uint[] dwReserved; // For future use.

}

[StructLayout(tial, Pack=1)]

internal struct IdeRegs

{

public byte bFeaturesReg;

public byte bSectorCountReg;

public byte bSectorNumberReg;

public byte bCylLowReg;

public byte bCylHighReg;

public byte bDriveHeadReg;

public byte bCommandReg;

public byte bReserved;

}

[StructLayout(tial, Pack=1)]

internal struct SendCmdInParams

{

public uint cBufferSize;

public IdeRegs irDriveRegs;

public byte bDriveNumber;

[MarshalAs(rray, SizeConst=3)]

public byte[] bReserved;

[MarshalAs(rray, SizeConst=4)]

public uint[] dwReserved;

public byte bBuffer;

}

[StructLayout(tial, Pack=1)]

internal struct DriverStatus

{

public byte bDriverError;

public byte bIDEStatus;

[MarshalAs(rray, SizeConst=2)]

public byte[] bReserved;

[MarshalAs(rray, SizeConst=2)]

public uint[] dwReserved;

}

[StructLayout(tial, Pack=1)]

internal struct SendCmdOutParams

{

public uint cBufferSize;