hi,
I'm trying to convert some .h files to API Declaration to use the function
and structs.
one of it is this:
NTMS_GUID CurrentLibrary; // the current library
NTMS_GUID MediaPool; // media pool that the media belongs to
NTMS_GUID Location; // actual location of the media
DWORD LocationType;
NTMS_GUID MediaType;
NTMS_GUID HomeSlot; // home slot for online media
CHAR szBarCode[NTMS_BARCODE_LE NGTH]; // bar code string
DWORD BarCodeState; // current state of the bar code
CHAR szSequenceNumbe r[NTMS_SEQUENCE_L ENGTH];
DWORD MediaState; // current media state
DWORD dwNumberOfParti tions;
} NTMS_I1_PMIDINF ORMATIONA;
which I've converted to this (vb.net):
<StructLayout(L ayoutKind.Seque ntial)>
Private Structure NTMS_I1_PMIDINF ORMATIONA
Public CurrentLibrary As NTMS_GUID ' // the current library
Public MediaPool As NTMS_GUID ' // media pool that the media belongs to
Public Location As NTMS_GUID ' // actual location of the media
Public LocationType As Int32
Public MediaType As NTMS_GUID
Public HomeSlot As NTMS_GUID ' // home slot for online media
Public szBarCode(NTMS_ BARCODE_LENGTH) As Byte ' // bar code string
Public BarCodeState As Int32 ' // current state of the bar code
Public szSequenceNumbe r(NTMS_SEQUENCE _LENGTH) As Byte
Public MediaState As Int32 ' // current media state
Public dwNumberOfParti tions As Int32
End Structure
am I on the right track here and would you help me please converting this
struct:
typedef struct _NTMS_OBJECTINF ORMATIONW {
DWORD dwSize;
DWORD dwType;
SYSTEMTIME Created;
SYSTEMTIME Modified;
NTMS_GUID ObjectGuid;
BOOL Enabled;
DWORD dwOperationalSt ate;
WCHAR szName[NTMS_OBJECTNAME _LENGTH];
WCHAR szDescription[NTMS_DESCRIPTIO N_LENGTH];
#ifdef MIDL_PASS
[switch_is(dwTyp e)] union {
[case(NTMS_DRIVE )] NTMS_DRIVEINFOR MATIONW Drive;
[case(NTMS_DRIVE _TYPE)] NTMS_DRIVETYPEI NFORMATIONW DriveType;
[case(NTMS_LIBRA RY)] NTMS_LIBRARYINF ORMATION Library;
[case(NTMS_CHANG ER)] NTMS_CHANGERINF ORMATIONW Changer;
[case(NTMS_CHANG ER_TYPE)] NTMS_CHANGERTYP EINFORMATIONW ChangerType;
[case(NTMS_STORA GESLOT)] NTMS_STORAGESLO TINFORMATION StorageSlot;
[case(NTMS_IEDOO R)] NTMS_IEDOORINFO RMATION IEDoor;
[case(NTMS_IEPOR T)] NTMS_IEPORTINFO RMATION IEPort;
[case(NTMS_PHYSI CAL_MEDIA)] NTMS_PMIDINFORM ATIONW PhysicalMedia;
[case(NTMS_LOGIC AL_MEDIA)] NTMS_LMIDINFORM ATION LogicalMedia;
[case(NTMS_PARTI TION)] NTMS_PARTITIONI NFORMATIONW Partition;
[case(NTMS_MEDIA _POOL)] NTMS_MEDIAPOOLI NFORMATION MediaPool;
[case(NTMS_MEDIA _TYPE)] NTMS_MEDIATYPEI NFORMATION MediaType;
[case(NTMS_LIBRE QUEST)] NTMS_LIBREQUEST INFORMATIONW LibRequest;
[case(NTMS_OPREQ UEST)] NTMS_OPREQUESTI NFORMATIONW OpRequest;
[case(NTMS_COMPU TER)] NTMS_COMPUTERIN FORMATION Computer;
[default] ;
} Info;
#else
union {
NTMS_DRIVEINFOR MATIONW Drive;
NTMS_DRIVETYPEI NFORMATIONW DriveType;
NTMS_LIBRARYINF ORMATION Library;
NTMS_CHANGERINF ORMATIONW Changer;
NTMS_CHANGERTYP EINFORMATIONW ChangerType;
NTMS_STORAGESLO TINFORMATION StorageSlot;
NTMS_IEDOORINFO RMATION IEDoor;
NTMS_IEPORTINFO RMATION IEPort;
NTMS_PMIDINFORM ATIONW PhysicalMedia;
NTMS_LMIDINFORM ATION LogicalMedia;
NTMS_PARTITIONI NFORMATIONW Partition;
NTMS_MEDIAPOOLI NFORMATION MediaPool;
NTMS_MEDIATYPEI NFORMATION MediaType;
NTMS_LIBREQUEST INFORMATIONW LibRequest;
NTMS_OPREQUESTI NFORMATIONW OpRequest;
NTMS_COMPUTERIN FORMATION Computer;
} Info;
#endif // MIDL_PASS
} NTMS_OBJECTINFO RMATIONW, *LPNTMS_OBJECTI NFORMATIONW;
Thanks All
Majed
I'm trying to convert some .h files to API Declaration to use the function
and structs.
one of it is this:
NTMS_GUID CurrentLibrary; // the current library
NTMS_GUID MediaPool; // media pool that the media belongs to
NTMS_GUID Location; // actual location of the media
DWORD LocationType;
NTMS_GUID MediaType;
NTMS_GUID HomeSlot; // home slot for online media
CHAR szBarCode[NTMS_BARCODE_LE NGTH]; // bar code string
DWORD BarCodeState; // current state of the bar code
CHAR szSequenceNumbe r[NTMS_SEQUENCE_L ENGTH];
DWORD MediaState; // current media state
DWORD dwNumberOfParti tions;
} NTMS_I1_PMIDINF ORMATIONA;
which I've converted to this (vb.net):
<StructLayout(L ayoutKind.Seque ntial)>
Private Structure NTMS_I1_PMIDINF ORMATIONA
Public CurrentLibrary As NTMS_GUID ' // the current library
Public MediaPool As NTMS_GUID ' // media pool that the media belongs to
Public Location As NTMS_GUID ' // actual location of the media
Public LocationType As Int32
Public MediaType As NTMS_GUID
Public HomeSlot As NTMS_GUID ' // home slot for online media
Public szBarCode(NTMS_ BARCODE_LENGTH) As Byte ' // bar code string
Public BarCodeState As Int32 ' // current state of the bar code
Public szSequenceNumbe r(NTMS_SEQUENCE _LENGTH) As Byte
Public MediaState As Int32 ' // current media state
Public dwNumberOfParti tions As Int32
End Structure
am I on the right track here and would you help me please converting this
struct:
typedef struct _NTMS_OBJECTINF ORMATIONW {
DWORD dwSize;
DWORD dwType;
SYSTEMTIME Created;
SYSTEMTIME Modified;
NTMS_GUID ObjectGuid;
BOOL Enabled;
DWORD dwOperationalSt ate;
WCHAR szName[NTMS_OBJECTNAME _LENGTH];
WCHAR szDescription[NTMS_DESCRIPTIO N_LENGTH];
#ifdef MIDL_PASS
[switch_is(dwTyp e)] union {
[case(NTMS_DRIVE )] NTMS_DRIVEINFOR MATIONW Drive;
[case(NTMS_DRIVE _TYPE)] NTMS_DRIVETYPEI NFORMATIONW DriveType;
[case(NTMS_LIBRA RY)] NTMS_LIBRARYINF ORMATION Library;
[case(NTMS_CHANG ER)] NTMS_CHANGERINF ORMATIONW Changer;
[case(NTMS_CHANG ER_TYPE)] NTMS_CHANGERTYP EINFORMATIONW ChangerType;
[case(NTMS_STORA GESLOT)] NTMS_STORAGESLO TINFORMATION StorageSlot;
[case(NTMS_IEDOO R)] NTMS_IEDOORINFO RMATION IEDoor;
[case(NTMS_IEPOR T)] NTMS_IEPORTINFO RMATION IEPort;
[case(NTMS_PHYSI CAL_MEDIA)] NTMS_PMIDINFORM ATIONW PhysicalMedia;
[case(NTMS_LOGIC AL_MEDIA)] NTMS_LMIDINFORM ATION LogicalMedia;
[case(NTMS_PARTI TION)] NTMS_PARTITIONI NFORMATIONW Partition;
[case(NTMS_MEDIA _POOL)] NTMS_MEDIAPOOLI NFORMATION MediaPool;
[case(NTMS_MEDIA _TYPE)] NTMS_MEDIATYPEI NFORMATION MediaType;
[case(NTMS_LIBRE QUEST)] NTMS_LIBREQUEST INFORMATIONW LibRequest;
[case(NTMS_OPREQ UEST)] NTMS_OPREQUESTI NFORMATIONW OpRequest;
[case(NTMS_COMPU TER)] NTMS_COMPUTERIN FORMATION Computer;
[default] ;
} Info;
#else
union {
NTMS_DRIVEINFOR MATIONW Drive;
NTMS_DRIVETYPEI NFORMATIONW DriveType;
NTMS_LIBRARYINF ORMATION Library;
NTMS_CHANGERINF ORMATIONW Changer;
NTMS_CHANGERTYP EINFORMATIONW ChangerType;
NTMS_STORAGESLO TINFORMATION StorageSlot;
NTMS_IEDOORINFO RMATION IEDoor;
NTMS_IEPORTINFO RMATION IEPort;
NTMS_PMIDINFORM ATIONW PhysicalMedia;
NTMS_LMIDINFORM ATION LogicalMedia;
NTMS_PARTITIONI NFORMATIONW Partition;
NTMS_MEDIAPOOLI NFORMATION MediaPool;
NTMS_MEDIATYPEI NFORMATION MediaType;
NTMS_LIBREQUEST INFORMATIONW LibRequest;
NTMS_OPREQUESTI NFORMATIONW OpRequest;
NTMS_COMPUTERIN FORMATION Computer;
} Info;
#endif // MIDL_PASS
} NTMS_OBJECTINFO RMATIONW, *LPNTMS_OBJECTI NFORMATIONW;
Thanks All
Majed
Comment