12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _INCL_NTMSAPI_H_
- #define _INCL_NTMSAPI_H_
- #include <_mingw_unicode.h>
- #pragma pack(8)
- #ifdef __cplusplus
- extern "C" {
- #endif
- /* See http://msdn.microsoft.com/en-us/library/cc245176%28PROT.13%29.aspx */
- typedef GUID NTMS_GUID;
- typedef GUID *LPNTMS_GUID;
- typedef BYTE *PSECURITY_DESCRIPTOR_NTMS;
- typedef ULONG_PTR NTMS_HANDLE;
- #define NTMS_NULLGUID {0,0,0,{0,0,0,0,0,0,0,0}}
- #define NTMS_IS_NULLGUID(id) ((id.Data1==0)&&(id.Data2==0)&&(id.Data3==0)&& (id.Data4[0]==0)&&(id.Data4[1]==0)&&(id.Data4[2]==0)&& (id.Data4[3]==0)&&(id.Data4[4]==0)&&(id.Data4[5]==0)&& (id.Data4[6]==0)&&(id.Data4[7]==0))
- #define OpenNtmsSession __MINGW_NAME_AW(OpenNtmsSession)
- #define GetNtmsDeviceName __MINGW_NAME_AW(GetNtmsDeviceName)
- #define GetNtmsObjectInformation __MINGW_NAME_AW(GetNtmsObjectInformation)
- #define SetNtmsObjectInformation __MINGW_NAME_AW(SetNtmsObjectInformation)
- #define CreateNtmsMediaPool __MINGW_NAME_AW(CreateNtmsMediaPool)
- #define GetNtmsMediaPoolName __MINGW_NAME_AW(GetNtmsMediaPoolName)
- #define GetNtmsObjectAttribute __MINGW_NAME_AW(GetNtmsObjectAttribute)
- #define SetNtmsObjectAttribute __MINGW_NAME_AW(SetNtmsObjectAttribute)
- #define GetNtmsUIOptions __MINGW_NAME_AW(GetNtmsUIOptions)
- #define SetNtmsUIOptions __MINGW_NAME_AW(SetNtmsUIOptions)
- #define SubmitNtmsOperatorRequest __MINGW_NAME_AW(SubmitNtmsOperatorRequest)
- #define CreateNtmsMedia __MINGW_NAME_AW(CreateNtmsMedia)
- #define EjectDiskFromSADrive __MINGW_NAME_AW(EjectDiskFromSADrive)
- #define GetVolumesFromDrive __MINGW_NAME_AW(GetVolumesFromDrive)
- #ifndef NTMS_NOREDEF
- enum NtmsObjectsTypes {
- NTMS_UNKNOWN = 0,
- NTMS_OBJECT,NTMS_CHANGER,NTMS_CHANGER_TYPE,NTMS_COMPUTER,NTMS_DRIVE,NTMS_DRIVE_TYPE,NTMS_IEDOOR,NTMS_IEPORT,NTMS_LIBRARY,
- NTMS_LIBREQUEST,NTMS_LOGICAL_MEDIA,NTMS_MEDIA_POOL,NTMS_MEDIA_TYPE,NTMS_PARTITION,NTMS_PHYSICAL_MEDIA,NTMS_STORAGESLOT,
- NTMS_OPREQUEST,NTMS_UI_DESTINATION,NTMS_NUMBER_OF_OBJECT_TYPES
- };
- typedef struct _NTMS_ASYNC_IO {
- NTMS_GUID OperationId;
- NTMS_GUID EventId;
- DWORD dwOperationType;
- DWORD dwResult;
- DWORD dwAsyncState;
- HANDLE hEvent;
- WINBOOL bOnStateChange;
- } NTMS_ASYNC_IO,*LPNTMS_ASYNC_IO;
- enum NtmsAsyncStatus {
- NTMS_ASYNCSTATE_QUEUED = 0,NTMS_ASYNCSTATE_WAIT_RESOURCE,NTMS_ASYNCSTATE_WAIT_OPERATOR,NTMS_ASYNCSTATE_INPROCESS,NTMS_ASYNCSTATE_COMPLETE
- };
- enum NtmsAsyncOperations {
- NTMS_ASYNCOP_MOUNT = 1
- };
- #endif
- enum NtmsSessionOptions {
- NTMS_SESSION_QUERYEXPEDITE = 0x1
- };
- HANDLE WINAPI OpenNtmsSessionW(LPCWSTR lpServer,LPCWSTR lpApplication,DWORD dwOptions);
- HANDLE WINAPI OpenNtmsSessionA(LPCSTR lpServer,LPCSTR lpApplication,DWORD dwOptions);
- DWORD WINAPI CloseNtmsSession(HANDLE hSession);
- #ifndef NTMS_NOREDEF
- enum NtmsMountOptions {
- NTMS_MOUNT_READ = 0x0001,NTMS_MOUNT_WRITE = 0x0002,NTMS_MOUNT_ERROR_NOT_AVAILABLE = 0x0004,NTMS_MOUNT_ERROR_IF_UNAVAILABLE = 0x0004,
- NTMS_MOUNT_ERROR_OFFLINE = 0x0008,NTMS_MOUNT_ERROR_IF_OFFLINE = 0x0008,NTMS_MOUNT_SPECIFIC_DRIVE = 0x0010,NTMS_MOUNT_NOWAIT = 0x0020
- };
- enum NtmsDismountOptions {
- NTMS_DISMOUNT_DEFERRED = 0x0001,NTMS_DISMOUNT_IMMEDIATE = 0x0002
- };
- enum NtmsMountPriority {
- NTMS_PRIORITY_DEFAULT = 0,NTMS_PRIORITY_HIGHEST = 15,NTMS_PRIORITY_HIGH = 7,NTMS_PRIORITY_NORMAL = 0,NTMS_PRIORITY_LOW = -7,
- NTMS_PRIORITY_LOWEST = -15
- };
- typedef struct _NTMS_MOUNT_INFORMATION {
- DWORD dwSize;
- LPVOID lpReserved;
- } NTMS_MOUNT_INFORMATION,*LPNTMS_MOUNT_INFORMATION;
- #endif
- DWORD WINAPI MountNtmsMedia(HANDLE hSession,LPNTMS_GUID lpMediaId,LPNTMS_GUID lpDriveId,DWORD dwCount,DWORD dwOptions,int dwPriority,DWORD dwTimeout,LPNTMS_MOUNT_INFORMATION lpMountInformation);
- DWORD WINAPI DismountNtmsMedia(HANDLE hSession,LPNTMS_GUID lpMediaId,DWORD dwCount,DWORD dwOptions);
- #ifndef NTMS_NOREDEF
- enum NtmsAllocateOptions {
- NTMS_ALLOCATE_NEW = 0x0001,NTMS_ALLOCATE_NEXT = 0x0002,NTMS_ALLOCATE_ERROR_IF_UNAVAILABLE = 0x0004
- };
- typedef struct _NTMS_ALLOCATION_INFORMATION {
- DWORD dwSize;
- LPVOID lpReserved;
- NTMS_GUID AllocatedFrom;
- } NTMS_ALLOCATION_INFORMATION,*LPNTMS_ALLOCATION_INFORMATION;
- #endif
- DWORD WINAPI AllocateNtmsMedia(HANDLE hSession,LPNTMS_GUID lpMediaPool,LPNTMS_GUID lpPartition,LPNTMS_GUID lpMediaId,DWORD dwOptions,DWORD dwTimeout,LPNTMS_ALLOCATION_INFORMATION lpAllocateInformation);
- DWORD WINAPI DeallocateNtmsMedia(HANDLE hSession,LPNTMS_GUID lpMediaId,DWORD dwOptions);
- DWORD WINAPI SwapNtmsMedia(HANDLE hSession,LPNTMS_GUID lpMediaId1,LPNTMS_GUID lpMediaId2);
- DWORD WINAPI AddNtmsMediaType(HANDLE hSession,LPNTMS_GUID lpMediaTypeId,LPNTMS_GUID lpLibId);
- DWORD WINAPI DeleteNtmsMediaType(HANDLE hSession,LPNTMS_GUID lpMediaTypeId,LPNTMS_GUID lpLibId);
- DWORD WINAPI ChangeNtmsMediaType(HANDLE hSession,LPNTMS_GUID lpMediaId,LPNTMS_GUID lpPoolId);
- DWORD WINAPI DecommissionNtmsMedia(HANDLE hSession,LPNTMS_GUID lpMediaId);
- DWORD WINAPI SetNtmsMediaComplete(HANDLE hSession,LPNTMS_GUID lpMediaId);
- DWORD WINAPI DeleteNtmsMedia(HANDLE hSession,LPNTMS_GUID lpMediaId);
- #ifndef NTMS_NOREDEF
- enum NtmsCreateOptions {
- NTMS_OPEN_EXISTING = 0x0001,NTMS_CREATE_NEW = 0x0002,NTMS_OPEN_ALWAYS = 0x0003
- };
- #endif
- #ifdef PRE_SEVIL
- DWORD WINAPI CreateNtmsMediaPool(HANDLE hSession,LPCTSTR lpPoolName,LPNTMS_GUID lpMediaType,DWORD dwAction,LPSECURITY_ATTRIBUTES lpSecurityAttributes,LPNTMS_GUID lpPoolId);
- #endif
- DWORD WINAPI CreateNtmsMediaPoolA(HANDLE hSession,LPCSTR lpPoolName,LPNTMS_GUID lpMediaType,DWORD dwAction,LPSECURITY_ATTRIBUTES lpSecurityAttributes,LPNTMS_GUID lpPoolId);
- DWORD WINAPI CreateNtmsMediaPoolW(HANDLE hSession,LPCWSTR lpPoolName,LPNTMS_GUID lpMediaType,DWORD dwAction,LPSECURITY_ATTRIBUTES lpSecurityAttributes,LPNTMS_GUID lpPoolId);
- DWORD WINAPI GetNtmsMediaPoolNameA(HANDLE hSession,LPNTMS_GUID lpPoolId,LPSTR lpNameBuf,LPDWORD lpdwBufSize);
- DWORD WINAPI GetNtmsMediaPoolNameW(HANDLE hSession,LPNTMS_GUID lpPoolId,LPWSTR lpNameBuf,LPDWORD lpdwBufSize);
- DWORD WINAPI MoveToNtmsMediaPool(HANDLE hSession,LPNTMS_GUID lpMediaId,LPNTMS_GUID lpPoolId);
- DWORD WINAPI DeleteNtmsMediaPool(HANDLE hSession,LPNTMS_GUID lpPoolId);
- DWORD WINAPI DeleteNtmsLibrary(HANDLE hSession,LPNTMS_GUID lpLibraryId);
- DWORD WINAPI DeleteNtmsDrive(HANDLE hSession,LPNTMS_GUID lpDriveId);
- #define NTMS_OBJECTNAME_LENGTH 64
- #define NTMS_DESCRIPTION_LENGTH 127
- #define NTMS_DEVICENAME_LENGTH 64
- #define NTMS_SERIALNUMBER_LENGTH 32
- #define NTMS_REVISION_LENGTH 32
- #define NTMS_BARCODE_LENGTH 64
- #define NTMS_SEQUENCE_LENGTH 32
- #define NTMS_VENDORNAME_LENGTH 128
- #define NTMS_PRODUCTNAME_LENGTH 128
- #define NTMS_USERNAME_LENGTH 64
- #define NTMS_APPLICATIONNAME_LENGTH 64
- #define NTMS_COMPUTERNAME_LENGTH 64
- #define NTMS_I1_MESSAGE_LENGTH 127
- #define NTMS_MESSAGE_LENGTH 256
- #define NTMS_POOLHIERARCHY_LENGTH 512
- #define NTMS_OMIDLABELID_LENGTH 255
- #define NTMS_OMIDLABELTYPE_LENGTH 64
- #define NTMS_OMIDLABELINFO_LENGTH 256
- #ifndef NTMS_NOREDEF
- enum NtmsDriveState {
- NTMS_DRIVESTATE_DISMOUNTED = 0,NTMS_DRIVESTATE_MOUNTED = 1,NTMS_DRIVESTATE_LOADED = 2,NTMS_DRIVESTATE_UNLOADED = 5,
- NTMS_DRIVESTATE_BEING_CLEANED = 6,NTMS_DRIVESTATE_DISMOUNTABLE = 7
- };
- #define _NTMS_DRIVEINFORMATION __MINGW_NAME_AW(_NTMS_DRIVEINFORMATION)
- #define NTMS_DRIVEINFORMATION __MINGW_NAME_AW(NTMS_DRIVEINFORMATION)
- typedef struct _NTMS_DRIVEINFORMATIONA {
- DWORD Number;
- DWORD State;
- NTMS_GUID DriveType;
- CHAR szDeviceName[NTMS_DEVICENAME_LENGTH];
- CHAR szSerialNumber[NTMS_SERIALNUMBER_LENGTH];
- CHAR szRevision[NTMS_REVISION_LENGTH];
- WORD ScsiPort;
- WORD ScsiBus;
- WORD ScsiTarget;
- WORD ScsiLun;
- DWORD dwMountCount;
- SYSTEMTIME LastCleanedTs;
- NTMS_GUID SavedPartitionId;
- NTMS_GUID Library;
- GUID Reserved;
- DWORD dwDeferDismountDelay;
- } NTMS_DRIVEINFORMATIONA;
- typedef struct _NTMS_DRIVEINFORMATIONW {
- DWORD Number;
- DWORD State;
- NTMS_GUID DriveType;
- WCHAR szDeviceName[NTMS_DEVICENAME_LENGTH];
- WCHAR szSerialNumber[NTMS_SERIALNUMBER_LENGTH];
- WCHAR szRevision[NTMS_REVISION_LENGTH];
- WORD ScsiPort;
- WORD ScsiBus;
- WORD ScsiTarget;
- WORD ScsiLun;
- DWORD dwMountCount;
- SYSTEMTIME LastCleanedTs;
- NTMS_GUID SavedPartitionId;
- NTMS_GUID Library;
- GUID Reserved;
- DWORD dwDeferDismountDelay;
- } NTMS_DRIVEINFORMATIONW;
- enum NtmsLibraryType {
- NTMS_LIBRARYTYPE_UNKNOWN = 0,NTMS_LIBRARYTYPE_OFFLINE = 1,NTMS_LIBRARYTYPE_ONLINE = 2,NTMS_LIBRARYTYPE_STANDALONE = 3
- };
- enum NtmsLibraryFlags {
- NTMS_LIBRARYFLAG_FIXEDOFFLINE = 0x01,NTMS_LIBRARYFLAG_CLEANERPRESENT = 0x02,NTMS_LIBRARYFLAG_AUTODETECTCHANGE = 0x04,
- NTMS_LIBRARYFLAG_IGNORECLEANERUSESREMAINING = 0x08,NTMS_LIBRARYFLAG_RECOGNIZECLEANERBARCODE = 0x10
- };
- enum NtmsInventoryMethod {
- NTMS_INVENTORY_NONE = 0,NTMS_INVENTORY_FAST = 1,NTMS_INVENTORY_OMID = 2,NTMS_INVENTORY_DEFAULT = 3,NTMS_INVENTORY_SLOT = 4,
- NTMS_INVENTORY_STOP = 5,NTMS_INVENTORY_MAX
- };
- typedef struct _NTMS_LIBRARYINFORMATION {
- DWORD LibraryType;
- NTMS_GUID CleanerSlot;
- NTMS_GUID CleanerSlotDefault;
- WINBOOL LibrarySupportsDriveCleaning;
- WINBOOL BarCodeReaderInstalled;
- DWORD InventoryMethod;
- DWORD dwCleanerUsesRemaining;
- DWORD FirstDriveNumber;
- DWORD dwNumberOfDrives;
- DWORD FirstSlotNumber;
- DWORD dwNumberOfSlots;
- DWORD FirstDoorNumber;
- DWORD dwNumberOfDoors;
- DWORD FirstPortNumber;
- DWORD dwNumberOfPorts;
- DWORD FirstChangerNumber;
- DWORD dwNumberOfChangers;
- DWORD dwNumberOfMedia;
- DWORD dwNumberOfMediaTypes;
- DWORD dwNumberOfLibRequests;
- GUID Reserved;
- WINBOOL AutoRecovery;
- DWORD dwFlags;
- } NTMS_LIBRARYINFORMATION;
- #define _NTMS_CHANGERINFORMATION __MINGW_NAME_AW(_NTMS_CHANGERINFORMATION)
- #define NTMS_CHANGERINFORMATION __MINGW_NAME_AW(NTMS_CHANGERINFORMATION)
- typedef struct _NTMS_CHANGERINFORMATIONA {
- DWORD Number;
- NTMS_GUID ChangerType;
- CHAR szSerialNumber[NTMS_SERIALNUMBER_LENGTH];
- CHAR szRevision[NTMS_REVISION_LENGTH];
- CHAR szDeviceName[NTMS_DEVICENAME_LENGTH];
- WORD ScsiPort;
- WORD ScsiBus;
- WORD ScsiTarget;
- WORD ScsiLun;
- NTMS_GUID Library;
- } NTMS_CHANGERINFORMATIONA;
- typedef struct _NTMS_CHANGERINFORMATIONW {
- DWORD Number;
- NTMS_GUID ChangerType;
- WCHAR szSerialNumber[NTMS_SERIALNUMBER_LENGTH];
- WCHAR szRevision[NTMS_REVISION_LENGTH];
- WCHAR szDeviceName[NTMS_DEVICENAME_LENGTH];
- WORD ScsiPort;
- WORD ScsiBus;
- WORD ScsiTarget;
- WORD ScsiLun;
- NTMS_GUID Library;
- } NTMS_CHANGERINFORMATIONW;
- enum NtmsSlotState {
- NTMS_SLOTSTATE_UNKNOWN = 0,NTMS_SLOTSTATE_FULL = 1,NTMS_SLOTSTATE_EMPTY = 2,NTMS_SLOTSTATE_NOTPRESENT = 3,NTMS_SLOTSTATE_NEEDSINVENTORY = 4
- };
- typedef struct _NTMS_STORAGESLOTINFORMATION {
- DWORD Number;
- DWORD State;
- NTMS_GUID Library;
- } NTMS_STORAGESLOTINFORMATION;
- enum NtmsDoorState {
- NTMS_DOORSTATE_UNKNOWN = 0,NTMS_DOORSTATE_CLOSED = 1,NTMS_DOORSTATE_OPEN = 2
- };
- typedef struct _NTMS_IEDOORINFORMATION {
- DWORD Number;
- DWORD State;
- WORD MaxOpenSecs;
- NTMS_GUID Library;
- } NTMS_IEDOORINFORMATION;
- enum NtmsPortPosition {
- NTMS_PORTPOSITION_UNKNOWN = 0,NTMS_PORTPOSITION_EXTENDED = 1,NTMS_PORTPOSITION_RETRACTED = 2
- };
- enum NtmsPortContent {
- NTMS_PORTCONTENT_UNKNOWN = 0,NTMS_PORTCONTENT_FULL = 1,NTMS_PORTCONTENT_EMPTY = 2
- };
- typedef struct _NTMS_IEPORTINFORMATION {
- DWORD Number;
- DWORD Content;
- DWORD Position;
- WORD MaxExtendSecs;
- NTMS_GUID Library;
- } NTMS_IEPORTINFORMATION;
- enum NtmsBarCodeState {
- NTMS_BARCODESTATE_OK = 1,NTMS_BARCODESTATE_UNREADABLE = 2
- };
- enum NtmsMediaState {
- NTMS_MEDIASTATE_IDLE = 0,
- NTMS_MEDIASTATE_INUSE,NTMS_MEDIASTATE_MOUNTED,NTMS_MEDIASTATE_LOADED,NTMS_MEDIASTATE_UNLOADED,
- NTMS_MEDIASTATE_OPERROR,NTMS_MEDIASTATE_OPREQ
- };
- #define _NTMS_PMIDINFORMATION __MINGW_NAME_AW(_NTMS_PMIDINFORMATION)
- #define NTMS_PMIDINFORMATION __MINGW_NAME_AW(NTMS_PMIDINFORMATION)
- typedef struct _NTMS_PMIDINFORMATIONA {
- NTMS_GUID CurrentLibrary;
- NTMS_GUID MediaPool;
- NTMS_GUID Location;
- DWORD LocationType;
- NTMS_GUID MediaType;
- NTMS_GUID HomeSlot;
- CHAR szBarCode[NTMS_BARCODE_LENGTH];
- DWORD BarCodeState;
- CHAR szSequenceNumber[NTMS_SEQUENCE_LENGTH];
- DWORD MediaState;
- DWORD dwNumberOfPartitions;
- DWORD dwMediaTypeCode;
- DWORD dwDensityCode;
- NTMS_GUID MountedPartition;
- } NTMS_PMIDINFORMATIONA;
- typedef struct _NTMS_PMIDINFORMATIONW {
- NTMS_GUID CurrentLibrary;
- NTMS_GUID MediaPool;
- NTMS_GUID Location;
- DWORD LocationType;
- NTMS_GUID MediaType;
- NTMS_GUID HomeSlot;
- WCHAR szBarCode[NTMS_BARCODE_LENGTH];
- DWORD BarCodeState;
- WCHAR szSequenceNumber[NTMS_SEQUENCE_LENGTH];
- DWORD MediaState;
- DWORD dwNumberOfPartitions;
- DWORD dwMediaTypeCode;
- DWORD dwDensityCode;
- NTMS_GUID MountedPartition;
- } NTMS_PMIDINFORMATIONW;
- typedef struct _NTMS_LMIDINFORMATION {
- NTMS_GUID MediaPool;
- DWORD dwNumberOfPartitions;
- } NTMS_LMIDINFORMATION;
- enum NtmsPartitionState {
- NTMS_PARTSTATE_UNKNOWN = 0,
- NTMS_PARTSTATE_UNPREPARED,NTMS_PARTSTATE_INCOMPATIBLE,NTMS_PARTSTATE_DECOMMISSIONED,
- NTMS_PARTSTATE_AVAILABLE,NTMS_PARTSTATE_ALLOCATED,NTMS_PARTSTATE_COMPLETE,NTMS_PARTSTATE_FOREIGN,NTMS_PARTSTATE_IMPORT,
- NTMS_PARTSTATE_RESERVED
- };
- #define NTMS_PARTSTATE_NEW NTMS_PARTSTATE_UNKNOWN
- #define _NTMS_PARTITIONINFORMATION __MINGW_NAME_AW(_NTMS_PARTITIONINFORMATION)
- #define NTMS_PARTITIONINFORMATION __MINGW_NAME_AW(NTMS_PARTITIONINFORMATION)
- typedef struct _NTMS_PARTITIONINFORMATIONA {
- NTMS_GUID PhysicalMedia;
- NTMS_GUID LogicalMedia;
- DWORD State;
- WORD Side;
- DWORD dwOmidLabelIdLength;
- BYTE OmidLabelId[NTMS_OMIDLABELID_LENGTH];
- CHAR szOmidLabelType[NTMS_OMIDLABELTYPE_LENGTH];
- CHAR szOmidLabelInfo[NTMS_OMIDLABELINFO_LENGTH];
- DWORD dwMountCount;
- DWORD dwAllocateCount;
- LARGE_INTEGER Capacity;
- } NTMS_PARTITIONINFORMATIONA;
- typedef struct _NTMS_PARTITIONINFORMATIONW {
- NTMS_GUID PhysicalMedia;
- NTMS_GUID LogicalMedia;
- DWORD State;
- WORD Side;
- DWORD dwOmidLabelIdLength;
- BYTE OmidLabelId[NTMS_OMIDLABELID_LENGTH];
- WCHAR szOmidLabelType[NTMS_OMIDLABELTYPE_LENGTH];
- WCHAR szOmidLabelInfo[NTMS_OMIDLABELINFO_LENGTH];
- DWORD dwMountCount;
- DWORD dwAllocateCount;
- LARGE_INTEGER Capacity;
- } NTMS_PARTITIONINFORMATIONW;
- enum NtmsPoolType {
- NTMS_POOLTYPE_UNKNOWN = 0,NTMS_POOLTYPE_SCRATCH = 1,NTMS_POOLTYPE_FOREIGN = 2,NTMS_POOLTYPE_IMPORT = 3,NTMS_POOLTYPE_APPLICATION = 1000
- };
- enum NtmsAllocationPolicy {
- NTMS_ALLOCATE_FROMSCRATCH = 1
- };
- enum NtmsDeallocationPolicy {
- NTMS_DEALLOCATE_TOSCRATCH = 1
- };
- typedef struct _NTMS_MEDIAPOOLINFORMATION {
- DWORD PoolType;
- NTMS_GUID MediaType;
- NTMS_GUID Parent;
- DWORD AllocationPolicy;
- DWORD DeallocationPolicy;
- DWORD dwMaxAllocates;
- DWORD dwNumberOfPhysicalMedia;
- DWORD dwNumberOfLogicalMedia;
- DWORD dwNumberOfMediaPools;
- } NTMS_MEDIAPOOLINFORMATION;
- enum NtmsReadWriteCharacteristics {
- NTMS_MEDIARW_UNKNOWN = 0,NTMS_MEDIARW_REWRITABLE = 1,NTMS_MEDIARW_WRITEONCE = 2,NTMS_MEDIARW_READONLY = 3
- };
- typedef struct _NTMS_MEDIATYPEINFORMATION {
- DWORD MediaType;
- DWORD NumberOfSides;
- DWORD ReadWriteCharacteristics;
- DWORD DeviceType;
- } NTMS_MEDIATYPEINFORMATION;
- #define _NTMS_DRIVETYPEINFORMATION __MINGW_NAME_AW(_NTMS_DRIVETYPEINFORMATION)
- #define NTMS_DRIVETYPEINFORMATION __MINGW_NAME_AW(NTMS_DRIVETYPEINFORMATION)
- typedef struct _NTMS_DRIVETYPEINFORMATIONA {
- CHAR szVendor[NTMS_VENDORNAME_LENGTH];
- CHAR szProduct[NTMS_PRODUCTNAME_LENGTH];
- DWORD NumberOfHeads;
- DWORD DeviceType;
- } NTMS_DRIVETYPEINFORMATIONA;
- typedef struct _NTMS_DRIVETYPEINFORMATIONW {
- WCHAR szVendor[NTMS_VENDORNAME_LENGTH];
- WCHAR szProduct[NTMS_PRODUCTNAME_LENGTH];
- DWORD NumberOfHeads;
- DWORD DeviceType;
- } NTMS_DRIVETYPEINFORMATIONW;
- #define _NTMS_CHANGERTYPEINFORMATION __MINGW_NAME_AW(_NTMS_CHANGERTYPEINFORMATION)
- #define NTMS_CHANGERTYPEINFORMATION __MINGW_NAME_AW(NTMS_CHANGERTYPEINFORMATION)
- typedef struct _NTMS_CHANGERTYPEINFORMATIONA {
- CHAR szVendor[NTMS_VENDORNAME_LENGTH];
- CHAR szProduct[NTMS_PRODUCTNAME_LENGTH];
- DWORD DeviceType;
- } NTMS_CHANGERTYPEINFORMATIONA;
- typedef struct _NTMS_CHANGERTYPEINFORMATIONW {
- WCHAR szVendor[NTMS_VENDORNAME_LENGTH];
- WCHAR szProduct[NTMS_PRODUCTNAME_LENGTH];
- DWORD DeviceType;
- } NTMS_CHANGERTYPEINFORMATIONW;
- enum NtmsLmOperation {
- NTMS_LM_REMOVE = 0,NTMS_LM_DISABLECHANGER = 1,NTMS_LM_DISABLELIBRARY = 1,NTMS_LM_ENABLECHANGER = 2,NTMS_LM_ENABLELIBRARY = 2,
- NTMS_LM_DISABLEDRIVE = 3,NTMS_LM_ENABLEDRIVE = 4,NTMS_LM_DISABLEMEDIA = 5,NTMS_LM_ENABLEMEDIA = 6,NTMS_LM_UPDATEOMID = 7,
- NTMS_LM_INVENTORY = 8,NTMS_LM_DOORACCESS = 9,NTMS_LM_EJECT = 10,NTMS_LM_EJECTCLEANER = 11,NTMS_LM_INJECT = 12,NTMS_LM_INJECTCLEANER = 13,
- NTMS_LM_PROCESSOMID = 14,NTMS_LM_CLEANDRIVE = 15,NTMS_LM_DISMOUNT = 16,NTMS_LM_MOUNT = 17,NTMS_LM_WRITESCRATCH = 18,NTMS_LM_CLASSIFY = 19,
- NTMS_LM_RESERVECLEANER = 20,NTMS_LM_RELEASECLEANER = 21,NTMS_LM_MAXWORKITEM
- };
- enum NtmsLmState {
- NTMS_LM_QUEUED = 0,NTMS_LM_INPROCESS = 1,NTMS_LM_PASSED = 2,NTMS_LM_FAILED = 3,NTMS_LM_INVALID = 4,NTMS_LM_WAITING = 5,
- NTMS_LM_DEFERRED = 6,NTMS_LM_DEFFERED = 6,NTMS_LM_CANCELLED = 7,NTMS_LM_STOPPED = 8
- };
- #define _NTMS_LIBREQUESTINFORMATION __MINGW_NAME_AW(_NTMS_LIBREQUESTINFORMATION)
- #define NTMS_LIBREQUESTINFORMATION __MINGW_NAME_AW(NTMS_LIBREQUESTINFORMATION)
- typedef struct _NTMS_LIBREQUESTINFORMATIONA {
- DWORD OperationCode;
- DWORD OperationOption;
- DWORD State;
- NTMS_GUID PartitionId;
- NTMS_GUID DriveId;
- NTMS_GUID PhysMediaId;
- NTMS_GUID Library;
- NTMS_GUID SlotId;
- SYSTEMTIME TimeQueued;
- SYSTEMTIME TimeCompleted;
- CHAR szApplication[NTMS_APPLICATIONNAME_LENGTH];
- CHAR szUser[NTMS_USERNAME_LENGTH];
- CHAR szComputer[NTMS_COMPUTERNAME_LENGTH];
- DWORD dwErrorCode;
- NTMS_GUID WorkItemId;
- DWORD dwPriority;
- } NTMS_LIBREQUESTINFORMATIONA;
- typedef struct _NTMS_LIBREQUESTINFORMATIONW {
- DWORD OperationCode;
- DWORD OperationOption;
- DWORD State;
- NTMS_GUID PartitionId;
- NTMS_GUID DriveId;
- NTMS_GUID PhysMediaId;
- NTMS_GUID Library;
- NTMS_GUID SlotId;
- SYSTEMTIME TimeQueued;
- SYSTEMTIME TimeCompleted;
- WCHAR szApplication[NTMS_APPLICATIONNAME_LENGTH];
- WCHAR szUser[NTMS_USERNAME_LENGTH];
- WCHAR szComputer[NTMS_COMPUTERNAME_LENGTH];
- DWORD dwErrorCode;
- NTMS_GUID WorkItemId;
- DWORD dwPriority;
- } NTMS_LIBREQUESTINFORMATIONW;
- enum NtmsOpreqCommand {
- NTMS_OPREQ_UNKNOWN = 0,NTMS_OPREQ_NEWMEDIA,NTMS_OPREQ_CLEANER,NTMS_OPREQ_DEVICESERVICE,NTMS_OPREQ_MOVEMEDIA,
- NTMS_OPREQ_MESSAGE
- };
- enum NtmsOpreqState {
- NTMS_OPSTATE_UNKNOWN = 0,
- NTMS_OPSTATE_SUBMITTED,NTMS_OPSTATE_ACTIVE,NTMS_OPSTATE_INPROGRESS,NTMS_OPSTATE_REFUSED,
- NTMS_OPSTATE_COMPLETE
- };
- #define _NTMS_OPREQUESTINFORMATION __MINGW_NAME_AW(_NTMS_OPREQUESTINFORMATION)
- #define NTMS_OPREQUESTINFORMATION __MINGW_NAME_AW(NTMS_OPREQUESTINFORMATION)
- typedef struct _NTMS_OPREQUESTINFORMATIONA {
- DWORD Request;
- SYSTEMTIME Submitted;
- DWORD State;
- CHAR szMessage[NTMS_MESSAGE_LENGTH];
- DWORD Arg1Type;
- NTMS_GUID Arg1;
- DWORD Arg2Type;
- NTMS_GUID Arg2;
- CHAR szApplication[NTMS_APPLICATIONNAME_LENGTH];
- CHAR szUser[NTMS_USERNAME_LENGTH];
- CHAR szComputer[NTMS_COMPUTERNAME_LENGTH];
- } NTMS_OPREQUESTINFORMATIONA;
- typedef struct _NTMS_OPREQUESTINFORMATIONW {
- DWORD Request;
- SYSTEMTIME Submitted;
- DWORD State;
- WCHAR szMessage[NTMS_MESSAGE_LENGTH];
- DWORD Arg1Type;
- NTMS_GUID Arg1;
- DWORD Arg2Type;
- NTMS_GUID Arg2;
- WCHAR szApplication[NTMS_APPLICATIONNAME_LENGTH];
- WCHAR szUser[NTMS_USERNAME_LENGTH];
- WCHAR szComputer[NTMS_COMPUTERNAME_LENGTH];
- } NTMS_OPREQUESTINFORMATIONW;
- typedef struct _NTMS_COMPUTERINFORMATION {
- DWORD dwLibRequestPurgeTime;
- DWORD dwOpRequestPurgeTime;
- DWORD dwLibRequestFlags;
- DWORD dwOpRequestFlags;
- DWORD dwMediaPoolPolicy;
- } NTMS_COMPUTERINFORMATION;
- enum NtmsLibRequestFlags {
- NTMS_LIBREQFLAGS_NOAUTOPURGE = 0x01,NTMS_LIBREQFLAGS_NOFAILEDPURGE = 0x02
- };
- enum NtmsOpRequestFlags {
- NTMS_OPREQFLAGS_NOAUTOPURGE = 0x01,NTMS_OPREQFLAGS_NOFAILEDPURGE = 0x02,NTMS_OPREQFLAGS_NOALERTS = 0x10,NTMS_OPREQFLAGS_NOTRAYICON = 0x20
- };
- enum NtmsMediaPoolPolicy {
- NTMS_POOLPOLICY_PURGEOFFLINESCRATCH = 0x01,NTMS_POOLPOLICY_KEEPOFFLINEIMPORT = 0x02
- };
- #define _NTMS_OBJECTINFORMATION __MINGW_NAME_AW(_NTMS_OBJECTINFORMATION)
- #define NTMS_OBJECTINFORMATION __MINGW_NAME_AW(NTMS_OBJECTINFORMATION)
- #define LPNTMS_OBJECTINFORMATION __MINGW_NAME_AW(LPNTMS_OBJECTINFORMATION)
- enum NtmsOperationalState {
- NTMS_READY = 0,
- NTMS_INITIALIZING = 10,
- NTMS_NEEDS_SERVICE = 20,
- NTMS_NOT_PRESENT = 21
- };
- typedef struct _RSM_MESSAGE {
- LPGUID lpguidOperation;
- DWORD dwNtmsType;
- DWORD dwState;
- DWORD dwFlags;
- DWORD dwPriority;
- DWORD dwErrorCode;
- LPWSTR lpszComputerName;
- LPWSTR lpszApplication;
- LPWSTR lpszUser;
- LPWSTR lpszTimeSubmitted;
- LPWSTR lpszMessage;
- } RSM_MESSAGE, *LPRSM_MESSAGE;
- typedef struct _NTMS_OBJECTINFORMATIONA {
- DWORD dwSize;
- DWORD dwType;
- SYSTEMTIME Created;
- SYSTEMTIME Modified;
- NTMS_GUID ObjectGuid;
- WINBOOL Enabled;
- DWORD dwOperationalState;
- CHAR szName[NTMS_OBJECTNAME_LENGTH];
- CHAR szDescription[NTMS_DESCRIPTION_LENGTH];
- union {
- NTMS_DRIVEINFORMATIONA Drive;
- NTMS_DRIVETYPEINFORMATIONA DriveType;
- NTMS_LIBRARYINFORMATION Library;
- NTMS_CHANGERINFORMATIONA Changer;
- NTMS_CHANGERTYPEINFORMATIONA ChangerType;
- NTMS_STORAGESLOTINFORMATION StorageSlot;
- NTMS_IEDOORINFORMATION IEDoor;
- NTMS_IEPORTINFORMATION IEPort;
- NTMS_PMIDINFORMATIONA PhysicalMedia;
- NTMS_LMIDINFORMATION LogicalMedia;
- NTMS_PARTITIONINFORMATIONA Partition;
- NTMS_MEDIAPOOLINFORMATION MediaPool;
- NTMS_MEDIATYPEINFORMATION MediaType;
- NTMS_LIBREQUESTINFORMATIONA LibRequest;
- NTMS_OPREQUESTINFORMATIONA OpRequest;
- NTMS_COMPUTERINFORMATION Computer;
- } Info;
- } NTMS_OBJECTINFORMATIONA,*LPNTMS_OBJECTINFORMATIONA;
- typedef struct _NTMS_OBJECTINFORMATIONW {
- DWORD dwSize;
- DWORD dwType;
- SYSTEMTIME Created;
- SYSTEMTIME Modified;
- NTMS_GUID ObjectGuid;
- WINBOOL Enabled;
- DWORD dwOperationalState;
- WCHAR szName[NTMS_OBJECTNAME_LENGTH];
- WCHAR szDescription[NTMS_DESCRIPTION_LENGTH];
- union {
- NTMS_DRIVEINFORMATIONW Drive;
- NTMS_DRIVETYPEINFORMATIONW DriveType;
- NTMS_LIBRARYINFORMATION Library;
- NTMS_CHANGERINFORMATIONW Changer;
- NTMS_CHANGERTYPEINFORMATIONW ChangerType;
- NTMS_STORAGESLOTINFORMATION StorageSlot;
- NTMS_IEDOORINFORMATION IEDoor;
- NTMS_IEPORTINFORMATION IEPort;
- NTMS_PMIDINFORMATIONW PhysicalMedia;
- NTMS_LMIDINFORMATION LogicalMedia;
- NTMS_PARTITIONINFORMATIONW Partition;
- NTMS_MEDIAPOOLINFORMATION MediaPool;
- NTMS_MEDIATYPEINFORMATION MediaType;
- NTMS_LIBREQUESTINFORMATIONW LibRequest;
- NTMS_OPREQUESTINFORMATIONW OpRequest;
- NTMS_COMPUTERINFORMATION Computer;
- } Info;
- } NTMS_OBJECTINFORMATIONW,*LPNTMS_OBJECTINFORMATIONW;
- #define NTMS_I1_LIBREQUESTINFORMATION __MINGW_NAME_AW(NTMS_I1_LIBREQUESTINFORMATION)
- #define NTMS_I1_PARTITIONINFORMATION __MINGW_NAME_AW(NTMS_I1_PARTITIONINFORMATION)
- #define NTMS_I1_PMIDINFORMATION __MINGW_NAME_AW(NTMS_I1_PMIDINFORMATION)
- #define NTMS_I1_OPREQUESTINFORMATION __MINGW_NAME_AW(NTMS_I1_OPREQUESTINFORMATION)
- #define NTMS_I1_OBJECTINFORMATION __MINGW_NAME_AW(NTMS_I1_OBJECTINFORMATION)
- typedef struct _NTMS_I1_LIBRARYINFORMATION {
- DWORD LibraryType;
- NTMS_GUID CleanerSlot;
- NTMS_GUID CleanerSlotDefault;
- WINBOOL LibrarySupportsDriveCleaning;
- WINBOOL BarCodeReaderInstalled;
- DWORD InventoryMethod;
- DWORD dwCleanerUsesRemaining;
- DWORD FirstDriveNumber;
- DWORD dwNumberOfDrives;
- DWORD FirstSlotNumber;
- DWORD dwNumberOfSlots;
- DWORD FirstDoorNumber;
- DWORD dwNumberOfDoors;
- DWORD FirstPortNumber;
- DWORD dwNumberOfPorts;
- DWORD FirstChangerNumber;
- DWORD dwNumberOfChangers;
- DWORD dwNumberOfMedia;
- DWORD dwNumberOfMediaTypes;
- DWORD dwNumberOfLibRequests;
- GUID Reserved;
- } NTMS_I1_LIBRARYINFORMATION;
- typedef struct _NTMS_I1_LIBREQUESTINFORMATIONA {
- DWORD OperationCode;
- DWORD OperationOption;
- DWORD State;
- NTMS_GUID PartitionId;
- NTMS_GUID DriveId;
- NTMS_GUID PhysMediaId;
- NTMS_GUID Library;
- NTMS_GUID SlotId;
- SYSTEMTIME TimeQueued;
- SYSTEMTIME TimeCompleted;
- CHAR szApplication[NTMS_APPLICATIONNAME_LENGTH];
- CHAR szUser[NTMS_USERNAME_LENGTH];
- CHAR szComputer[NTMS_COMPUTERNAME_LENGTH];
- } NTMS_I1_LIBREQUESTINFORMATIONA;
- typedef struct _NTMS_I1_LIBREQUESTINFORMATIONW {
- DWORD OperationCode;
- DWORD OperationOption;
- DWORD State;
- NTMS_GUID PartitionId;
- NTMS_GUID DriveId;
- NTMS_GUID PhysMediaId;
- NTMS_GUID Library;
- NTMS_GUID SlotId;
- SYSTEMTIME TimeQueued;
- SYSTEMTIME TimeCompleted;
- WCHAR szApplication[NTMS_APPLICATIONNAME_LENGTH];
- WCHAR szUser[NTMS_USERNAME_LENGTH];
- WCHAR szComputer[NTMS_COMPUTERNAME_LENGTH];
- } NTMS_I1_LIBREQUESTINFORMATIONW;
- typedef struct _NTMS_I1_PMIDINFORMATIONA {
- NTMS_GUID CurrentLibrary;
- NTMS_GUID MediaPool;
- NTMS_GUID Location;
- DWORD LocationType;
- NTMS_GUID MediaType;
- NTMS_GUID HomeSlot;
- CHAR szBarCode[NTMS_BARCODE_LENGTH];
- DWORD BarCodeState;
- CHAR szSequenceNumber[NTMS_SEQUENCE_LENGTH];
- DWORD MediaState;
- DWORD dwNumberOfPartitions;
- } NTMS_I1_PMIDINFORMATIONA;
- typedef struct _NTMS_I1_PMIDINFORMATIONW {
- NTMS_GUID CurrentLibrary;
- NTMS_GUID MediaPool;
- NTMS_GUID Location;
- DWORD LocationType;
- NTMS_GUID MediaType;
- NTMS_GUID HomeSlot;
- WCHAR szBarCode[NTMS_BARCODE_LENGTH];
- DWORD BarCodeState;
- WCHAR szSequenceNumber[NTMS_SEQUENCE_LENGTH];
- DWORD MediaState;
- DWORD dwNumberOfPartitions;
- } NTMS_I1_PMIDINFORMATIONW;
- typedef struct _NTMS_I1_PARTITIONINFORMATIONA {
- NTMS_GUID PhysicalMedia;
- NTMS_GUID LogicalMedia;
- DWORD State;
- WORD Side;
- DWORD dwOmidLabelIdLength;
- BYTE OmidLabelId[255];
- CHAR szOmidLabelType[64];
- CHAR szOmidLabelInfo[256];
- DWORD dwMountCount;
- DWORD dwAllocateCount;
- } NTMS_I1_PARTITIONINFORMATIONA;
- typedef struct _NTMS_I1_PARTITIONINFORMATIONW {
- NTMS_GUID PhysicalMedia;
- NTMS_GUID LogicalMedia;
- DWORD State;
- WORD Side;
- DWORD dwOmidLabelIdLength;
- BYTE OmidLabelId[255];
- WCHAR szOmidLabelType[64];
- WCHAR szOmidLabelInfo[256];
- DWORD dwMountCount;
- DWORD dwAllocateCount;
- } NTMS_I1_PARTITIONINFORMATIONW;
- typedef struct _NTMS_I1_OPREQUESTINFORMATIONA {
- DWORD Request;
- SYSTEMTIME Submitted;
- DWORD State;
- CHAR szMessage[NTMS_I1_MESSAGE_LENGTH];
- DWORD Arg1Type;
- NTMS_GUID Arg1;
- DWORD Arg2Type;
- NTMS_GUID Arg2;
- CHAR szApplication[NTMS_APPLICATIONNAME_LENGTH];
- CHAR szUser[NTMS_USERNAME_LENGTH];
- CHAR szComputer[NTMS_COMPUTERNAME_LENGTH];
- } NTMS_I1_OPREQUESTINFORMATIONA;
- typedef struct _NTMS_I1_OPREQUESTINFORMATIONW {
- DWORD Request;
- SYSTEMTIME Submitted;
- DWORD State;
- WCHAR szMessage[NTMS_I1_MESSAGE_LENGTH];
- DWORD Arg1Type;
- NTMS_GUID Arg1;
- DWORD Arg2Type;
- NTMS_GUID Arg2;
- WCHAR szApplication[NTMS_APPLICATIONNAME_LENGTH];
- WCHAR szUser[NTMS_USERNAME_LENGTH];
- WCHAR szComputer[NTMS_COMPUTERNAME_LENGTH];
- } NTMS_I1_OPREQUESTINFORMATIONW;
- typedef struct _NTMS_I1_OBJECTINFORMATIONA {
- DWORD dwSize;
- DWORD dwType;
- SYSTEMTIME Created;
- SYSTEMTIME Modified;
- NTMS_GUID ObjectGuid;
- WINBOOL Enabled;
- DWORD dwOperationalState;
- CHAR szName[NTMS_OBJECTNAME_LENGTH];
- CHAR szDescription[NTMS_DESCRIPTION_LENGTH];
- union {
- NTMS_DRIVEINFORMATIONA Drive;
- NTMS_DRIVETYPEINFORMATIONA DriveType;
- NTMS_I1_LIBRARYINFORMATION Library;
- NTMS_CHANGERINFORMATIONA Changer;
- NTMS_CHANGERTYPEINFORMATIONA ChangerType;
- NTMS_STORAGESLOTINFORMATION StorageSlot;
- NTMS_IEDOORINFORMATION IEDoor;
- NTMS_IEPORTINFORMATION IEPort;
- NTMS_I1_PMIDINFORMATIONA PhysicalMedia;
- NTMS_LMIDINFORMATION LogicalMedia;
- NTMS_I1_PARTITIONINFORMATIONA Partition;
- NTMS_MEDIAPOOLINFORMATION MediaPool;
- NTMS_MEDIATYPEINFORMATION MediaType;
- NTMS_I1_LIBREQUESTINFORMATIONA LibRequest;
- NTMS_I1_OPREQUESTINFORMATIONA OpRequest;
- } Info;
- } NTMS_I1_OBJECTINFORMATIONA,*LPNTMS_I1_OBJECTINFORMATIONA;
- typedef struct _NTMS_I1_OBJECTINFORMATIONW {
- DWORD dwSize;
- DWORD dwType;
- SYSTEMTIME Created;
- SYSTEMTIME Modified;
- NTMS_GUID ObjectGuid;
- WINBOOL Enabled;
- DWORD dwOperationalState;
- WCHAR szName[NTMS_OBJECTNAME_LENGTH];
- WCHAR szDescription[NTMS_DESCRIPTION_LENGTH];
- union {
- NTMS_DRIVEINFORMATIONW Drive;
- NTMS_DRIVETYPEINFORMATIONW DriveType;
- NTMS_I1_LIBRARYINFORMATION Library;
- NTMS_CHANGERINFORMATIONW Changer;
- NTMS_CHANGERTYPEINFORMATIONW ChangerType;
- NTMS_STORAGESLOTINFORMATION StorageSlot;
- NTMS_IEDOORINFORMATION IEDoor;
- NTMS_IEPORTINFORMATION IEPort;
- NTMS_I1_PMIDINFORMATIONW PhysicalMedia;
- NTMS_LMIDINFORMATION LogicalMedia;
- NTMS_I1_PARTITIONINFORMATIONW Partition;
- NTMS_MEDIAPOOLINFORMATION MediaPool;
- NTMS_MEDIATYPEINFORMATION MediaType;
- NTMS_I1_LIBREQUESTINFORMATIONW LibRequest;
- NTMS_I1_OPREQUESTINFORMATIONW OpRequest;
- } Info;
- } NTMS_I1_OBJECTINFORMATIONW,*LPNTMS_I1_OBJECTINFORMATIONW;
- #endif
- #ifndef NTMS_NOREDEF
- enum NtmsCreateNtmsMediaOptions {
- NTMS_ERROR_ON_DUPLICATE = 0x0001
- };
- #endif
- #ifdef PRE_SEVIL
- DWORD WINAPI GetNtmsObjectInformation(HANDLE hSession,LPNTMS_GUID lpObjectId,LPNTMS_OBJECTINFORMATION lpInfo);
- DWORD WINAPI SetNtmsObjectInformation(HANDLE hSession,LPNTMS_GUID lpObjectId,LPNTMS_OBJECTINFORMATION lpInfo);
- #endif
- DWORD WINAPI GetNtmsObjectInformationA(HANDLE hSession,LPNTMS_GUID lpObjectId,LPNTMS_OBJECTINFORMATIONA lpInfo);
- DWORD WINAPI GetNtmsObjectInformationW(HANDLE hSession,LPNTMS_GUID lpObjectId,LPNTMS_OBJECTINFORMATIONW lpInfo);
- DWORD WINAPI SetNtmsObjectInformationA(HANDLE hSession,LPNTMS_GUID lpObjectId,LPNTMS_OBJECTINFORMATIONA lpInfo);
- DWORD WINAPI SetNtmsObjectInformationW(HANDLE hSession,LPNTMS_GUID lpObjectId,LPNTMS_OBJECTINFORMATIONW lpInfo);
- DWORD WINAPI CreateNtmsMediaA(HANDLE hSession,LPNTMS_OBJECTINFORMATIONA lpMedia,LPNTMS_OBJECTINFORMATIONA lpList,DWORD dwOptions);
- DWORD WINAPI CreateNtmsMediaW(HANDLE hSession,LPNTMS_OBJECTINFORMATIONW lpMedia,LPNTMS_OBJECTINFORMATIONW lpList,DWORD dwOptions);
- enum NtmsEnumerateOption {
- NTMS_ENUM_DEFAULT = 0,NTMS_ENUM_ROOTPOOL = 1
- };
- DWORD WINAPI EnumerateNtmsObject(HANDLE hSession,const LPNTMS_GUID lpContainerId,LPNTMS_GUID lpList,LPDWORD lpdwListSize,DWORD dwType,DWORD dwOptions);
- DWORD WINAPI DisableNtmsObject(HANDLE hSession,DWORD dwType,LPNTMS_GUID lpObjectId);
- DWORD WINAPI EnableNtmsObject(HANDLE hSession,DWORD dwType,LPNTMS_GUID lpObjectId);
- enum NtmsEjectOperation {
- NTMS_EJECT_START = 0,NTMS_EJECT_STOP = 1,NTMS_EJECT_QUEUE = 2,NTMS_EJECT_FORCE = 3,NTMS_EJECT_IMMEDIATE = 4,NTMS_EJECT_ASK_USER = 5
- };
- DWORD WINAPI EjectNtmsMedia(HANDLE hSession,LPNTMS_GUID lpMediaId,LPNTMS_GUID lpEjectOperation,DWORD dwAction);
- enum NtmsInjectOperation {
- NTMS_INJECT_START = 0,NTMS_INJECT_STOP = 1,NTMS_INJECT_RETRACT = 2,NTMS_INJECT_STARTMANY = 3
- };
- DWORD WINAPI InjectNtmsMedia(HANDLE hSession,LPNTMS_GUID lpLibraryId,LPNTMS_GUID lpInjectOperation,DWORD dwAction);
- DWORD WINAPI AccessNtmsLibraryDoor(HANDLE hSession,LPNTMS_GUID lpLibraryId,DWORD dwAction);
- DWORD WINAPI CleanNtmsDrive(HANDLE hSession,LPNTMS_GUID lpDriveId);
- DWORD WINAPI DismountNtmsDrive(HANDLE hSession,LPNTMS_GUID lpDriveId);
- DWORD WINAPI InventoryNtmsLibrary(HANDLE hSession,LPNTMS_GUID lpLibraryId,DWORD dwAction);
- DWORD WINAPI IdentifyNtmsSlot(HANDLE hSession,LPNTMS_GUID lpSlotId,DWORD dwOption);
- #define NTMS_OMID_TYPE_RAW_LABEL 0x01
- #define NTMS_OMID_TYPE_FILESYSTEM_INFO 0x02
- typedef struct {
- WCHAR FileSystemType[64];
- WCHAR VolumeName[256];
- DWORD SerialNumber;
- } NTMS_FILESYSTEM_INFO;
- DWORD WINAPI UpdateNtmsOmidInfo(HANDLE hSession,LPNTMS_GUID lpMediaId,DWORD labelType,DWORD numberOfBytes,LPVOID lpBuffer);
- DWORD WINAPI CancelNtmsLibraryRequest(HANDLE hSession,LPNTMS_GUID lpRequestId);
- DWORD WINAPI GetNtmsRequestOrder(HANDLE hSession,LPNTMS_GUID lpRequestId,LPDWORD lpdwOrderNumber);
- DWORD WINAPI SetNtmsRequestOrder(HANDLE hSession,LPNTMS_GUID lpRequestId,DWORD dwOrderNumber);
- DWORD WINAPI DeleteNtmsRequests(HANDLE hSession,LPNTMS_GUID lpRequestId,DWORD dwType,DWORD dwCount);
- DWORD WINAPI ReserveNtmsCleanerSlot (HANDLE hSession,LPNTMS_GUID lpLibrary,LPNTMS_GUID lpSlot);
- DWORD WINAPI ReleaseNtmsCleanerSlot (HANDLE hSession,LPNTMS_GUID lpLibrary);
- DWORD WINAPI InjectNtmsCleaner (HANDLE hSession,LPNTMS_GUID lpLibrary,LPNTMS_GUID lpInjectOperation,DWORD dwNumberOfCleansLeft,DWORD dwAction);
- DWORD WINAPI EjectNtmsCleaner (HANDLE hSession,LPNTMS_GUID lpLibrary,LPNTMS_GUID lpEjectOperation,DWORD dwAction);
- DWORD WINAPI BeginNtmsDeviceChangeDetection(HANDLE hSession,LPHANDLE lpDetectHandle);
- DWORD WINAPI SetNtmsDeviceChangeDetection(HANDLE hSession,HANDLE DetectHandle,LPNTMS_GUID lpRequestId,DWORD dwType,DWORD dwCount);
- DWORD WINAPI EndNtmsDeviceChangeDetection(HANDLE hSession,HANDLE DetectHandle);
- #ifndef NTMS_NOREDEF
- enum NtmsDriveType {
- NTMS_UNKNOWN_DRIVE = 0
- };
- #endif
- DWORD WINAPI GetNtmsObjectSecurity(HANDLE hSession,LPNTMS_GUID lpObjectId,DWORD dwType,SECURITY_INFORMATION RequestedInformation,PSECURITY_DESCRIPTOR lpSecurityDescriptor,DWORD nLength,LPDWORD lpnLengthNeeded);
- DWORD WINAPI SetNtmsObjectSecurity(HANDLE hSession,LPNTMS_GUID lpObjectId,DWORD dwType,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR lpSecurityDescriptor);
- enum NtmsAccessMask {
- NTMS_USE_ACCESS = 0x1,
- NTMS_MODIFY_ACCESS = 0x2,
- NTMS_CONTROL_ACCESS = 0x4 /* Hmm, could be 3, too. */
- };
- #define NTMS_GENERIC_READ NTMS_USE_ACCESS
- #define NTMS_GENERIC_WRITE NTMS_USE_ACCESS | NTMS_MODIFY_ACCESS
- #define NTMS_GENERIC_EXECUTE NTMS_USE_ACCESS | NTMS_MODIFY_ACCESS | NTMS_CONTROL_ACCESS
- #define NTMS_GENERIC_ALL NTMS_USE_ACCESS | NTMS_MODIFY_ACCESS | NTMS_CONTROL_ACCESS
- #define NTMS_MAXATTR_LENGTH 0x10000
- #define NTMS_MAXATTR_NAMELEN 32
- DWORD WINAPI GetNtmsObjectAttributeA(HANDLE hSession,LPNTMS_GUID lpObjectId,DWORD dwType,LPCSTR lpAttributeName,LPVOID lpAttributeData,LPDWORD lpAttributeSize);
- DWORD WINAPI GetNtmsObjectAttributeW(HANDLE hSession,LPNTMS_GUID lpObjectId,DWORD dwType,LPCWSTR lpAttributeName,LPVOID lpAttributeData,LPDWORD lpAttributeSize);
- DWORD WINAPI SetNtmsObjectAttributeA(HANDLE hSession,LPNTMS_GUID lpObjectId,DWORD dwType,LPCSTR lpAttributeName,LPVOID lpAttributeData,DWORD dwAttributeSize);
- DWORD WINAPI SetNtmsObjectAttributeW(HANDLE hSession,LPNTMS_GUID lpObjectId,DWORD dwType,LPCWSTR lpAttributeName,LPVOID lpAttributeData,DWORD AttributeSize);
- enum NtmsUITypes {
- NTMS_UITYPE_INVALID = 0,
- NTMS_UITYPE_INFO,NTMS_UITYPE_REQ,NTMS_UITYPE_ERR,NTMS_UITYPE_MAX
- };
- enum NtmsUIOperations {
- NTMS_UIDEST_ADD = 1,
- NTMS_UIDEST_DELETE,NTMS_UIDEST_DELETEALL,
- NTMS_UIOPERATION_MAX
- };
- DWORD WINAPI GetNtmsUIOptionsA(HANDLE hSession,const LPNTMS_GUID lpObjectId,DWORD dwType,LPSTR lpszDestination,LPDWORD lpdwBufSize);
- DWORD WINAPI GetNtmsUIOptionsW(HANDLE hSession,const LPNTMS_GUID lpObjectId,DWORD dwType,LPWSTR lpszDestination,LPDWORD lpdwBufSize);
- DWORD WINAPI SetNtmsUIOptionsA(HANDLE hSession,const LPNTMS_GUID lpObjectId,DWORD dwType,DWORD dwOperation,LPCSTR lpszDestination);
- DWORD WINAPI SetNtmsUIOptionsW(HANDLE hSession,const LPNTMS_GUID lpObjectId,DWORD dwType,DWORD dwOperation,LPCWSTR lpszDestination);
- DWORD WINAPI SubmitNtmsOperatorRequestW(HANDLE hSession,DWORD dwRequest,LPCWSTR lpMessage,LPNTMS_GUID lpArg1Id,LPNTMS_GUID lpArg2Id,LPNTMS_GUID lpRequestId);
- DWORD WINAPI SubmitNtmsOperatorRequestA(HANDLE hSession,DWORD dwRequest,LPCSTR lpMessage,LPNTMS_GUID lpArg1Id,LPNTMS_GUID lpArg2Id,LPNTMS_GUID lpRequestId);
- DWORD WINAPI WaitForNtmsOperatorRequest(HANDLE hSession,LPNTMS_GUID lpRequestId,DWORD dwTimeout);
- DWORD WINAPI CancelNtmsOperatorRequest(HANDLE hSession,LPNTMS_GUID lpRequestId);
- DWORD WINAPI SatisfyNtmsOperatorRequest(HANDLE hSession,LPNTMS_GUID lpRequestId);
- #ifndef NTMS_NOREDEF
- enum NtmsNotificationOperations {
- NTMS_OBJ_UPDATE = 1,
- NTMS_OBJ_INSERT,NTMS_OBJ_DELETE,NTMS_EVENT_SIGNAL,NTMS_EVENT_COMPLETE
- };
- typedef struct _NTMS_NOTIFICATIONINFORMATION {
- DWORD dwOperation;
- NTMS_GUID ObjectId;
- } NTMS_NOTIFICATIONINFORMATION,*LPNTMS_NOTIFICATIONINFORMATION;
- #endif
- DWORD WINAPI ImportNtmsDatabase(HANDLE hSession);
- DWORD WINAPI ExportNtmsDatabase(HANDLE hSession);
- DWORD WINAPI ImportNtmsDatabase(HANDLE hSession);
- DWORD WINAPI ExportNtmsDatabase(HANDLE hSession);
- HANDLE WINAPI OpenNtmsNotification(HANDLE hSession,DWORD dwType);
- DWORD WINAPI WaitForNtmsNotification(HANDLE hNotification,LPNTMS_NOTIFICATIONINFORMATION lpNotificationInformation,DWORD dwTimeout);
- DWORD WINAPI CloseNtmsNotification(HANDLE hNotification);
- DWORD WINAPI EjectDiskFromSADriveW(LPCWSTR lpComputerName,LPCWSTR lpAppName,LPCWSTR lpDeviceName,HWND hWnd,LPCWSTR lpTitle,LPCWSTR lpMessage,DWORD dwOptions);
- DWORD WINAPI EjectDiskFromSADriveA(LPCSTR lpComputerName,LPCSTR lpAppName,LPCSTR lpDeviceName,HWND hWnd,LPCSTR lpTitle,LPCSTR lpMessage,DWORD dwOptions);
- DWORD WINAPI GetVolumesFromDriveW(LPWSTR pszDriveName,LPWSTR *VolumeNameBufferPtr,LPWSTR *DriveLetterBufferPtr);
- DWORD WINAPI GetVolumesFromDriveA(LPSTR pszDriveName,LPSTR *VolumeNameBufferPtr,LPSTR *DriveLetterBufferPtr);
- #ifdef __cplusplus
- }
- #endif
- #pragma pack()
- #endif
|