⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ntmsapi.h

📁 c语言编程软件vc6.0中文绿色版_vc6.0官方下载
💻 H
📖 第 1 页 / 共 3 页
字号:
    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		= 1,
	NTMS_MEDIASTATE_MOUNTED		= 2,
	NTMS_MEDIASTATE_LOADED		= 3,
	NTMS_MEDIASTATE_UNLOADED	= 4,
	NTMS_MEDIASTATE_OPERROR		= 5,
	// media is waiting for operator request servicing
	NTMS_MEDIASTATE_OPREQ		= 6
};

#define NTMS_BARCODE_LENGTH		64
#define NTMS_SEQUENCE_LENGTH	32

#ifdef UNICODE
#define _NTMS_PMIDINFORMATION _NTMS_PMIDINFORMATIONW
#define NTMS_PMIDINFORMATION NTMS_PMIDINFORMATIONW
#else
#define _NTMS_PMIDINFORMATION _NTMS_PMIDINFORMATIONA
#define NTMS_PMIDINFORMATION NTMS_PMIDINFORMATIONA
#endif

typedef struct _NTMS_PMIDINFORMATIONA {
	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_LENGTH];	// bar code string
	DWORD		BarCodeState;	// current state of the bar code
	CHAR		szSequenceNumber[NTMS_SEQUENCE_LENGTH];
	DWORD		MediaState;		// current media state
	DWORD		dwNumberOfPartitions;
} NTMS_PMIDINFORMATIONA;

typedef struct _NTMS_PMIDINFORMATIONW {
	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
	WCHAR		szBarCode[NTMS_BARCODE_LENGTH];	// bar code string
	DWORD		BarCodeState;	// current state of the bar code
	WCHAR		szSequenceNumber[32];
	DWORD		MediaState;		// current media state
	DWORD		dwNumberOfPartitions;
} NTMS_PMIDINFORMATIONW;

typedef struct _NTMS_LMIDINFORMATION {
	NTMS_GUID	MediaPool;
	DWORD		dwNumberOfPartitions;
} NTMS_LMIDINFORMATION;

enum NtmsPartitionState {
	NTMS_PARTSTATE_UNKNOWN			= 0,
	NTMS_PARTSTATE_UNPREPARED		= 1,
	NTMS_PARTSTATE_INCOMPATIBLE		= 2,		
	NTMS_PARTSTATE_DECOMMISSIONED	= 3,
	NTMS_PARTSTATE_AVAILABLE		= 4,
	NTMS_PARTSTATE_ALLOCATED		= 5,
	NTMS_PARTSTATE_COMPLETE         = 6,
	NTMS_PARTSTATE_FOREIGN          = 7,
    NTMS_PARTSTATE_IMPORT           = 8,
	NTMS_PARTSTATE_RESERVED			= 9
};
// define the new state as the unknown state for now.
#define NTMS_PARTSTATE_NEW NTMS_PARTSTATE_UNKNOWN

#ifdef UNICODE
#define _NTMS_PARTITIONINFORMATION _NTMS_PARTITIONINFORMATIONW
#define NTMS_PARTITIONINFORMATION NTMS_PARTITIONINFORMATIONW
#else
#define _NTMS_PARTITIONINFORMATION _NTMS_PARTITIONINFORMATIONA
#define NTMS_PARTITIONINFORMATION NTMS_PARTITIONINFORMATIONA
#endif

typedef struct _NTMS_PARTITIONINFORMATIONA {
    NTMS_GUID	PhysicalMedia;
    NTMS_GUID	LogicalMedia;
	DWORD		State;
	WORD		Side;
	DWORD		dwOmidLabelIdLength;	// binary id
	BYTE		OmidLabelId[255];
	CHAR		szOmidLabelType[64];	// type string
	CHAR		szOmidLabelInfo[256];	// info string
	DWORD		dwMountCount;
	DWORD		dwAllocateCount;
} NTMS_PARTITIONINFORMATIONA;


typedef struct _NTMS_PARTITIONINFORMATIONW {
    NTMS_GUID	PhysicalMedia;
    NTMS_GUID	LogicalMedia;
	DWORD		State;
	WORD		Side;
	DWORD		dwOmidLabelIdLength;	// binary id
	BYTE		OmidLabelId[255];
	WCHAR		szOmidLabelType[64];	// type string
	WCHAR		szOmidLabelInfo[256];	// info string
	DWORD		dwMountCount;
	DWORD		dwAllocateCount;
} 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
};

#define NTMS_VENDORNAME_LENGTH		32
#define NTMS_PRODUCTNAME_LENGTH		32

typedef struct _NTMS_MEDIATYPEINFORMATION {
	DWORD	MediaType;	// MediaTypeCodes
	DWORD	NumberOfSides;
	DWORD	ReadWriteCharacteristics;
	DWORD	DeviceType;
} NTMS_MEDIATYPEINFORMATION;

#ifdef UNICODE
#define _NTMS_DRIVETYPEINFORMATION _NTMS_DRIVETYPEINFORMATIONW
#define NTMS_DRIVETYPEINFORMATION NTMS_DRIVETYPEINFORMATIONW
#else
#define _NTMS_DRIVETYPEINFORMATION _NTMS_DRIVETYPEINFORMATIONA
#define NTMS_DRIVETYPEINFORMATION NTMS_DRIVETYPEINFORMATIONA
#endif

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;

#ifdef UNICODE
#define _NTMS_CHANGERTYPEINFORMATION _NTMS_CHANGERTYPEINFORMATIONW
#define NTMS_CHANGERTYPEINFORMATION NTMS_CHANGERTYPEINFORMATIONW
#else
#define _NTMS_CHANGERTYPEINFORMATION _NTMS_CHANGERTYPEINFORMATIONA
#define NTMS_CHANGERTYPEINFORMATION NTMS_CHANGERTYPEINFORMATIONA
#endif

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;

#define NTMS_USERNAME_LENGTH		64
#define NTMS_APPLICATIONNAME_LENGTH	64
#define NTMS_COMPUTERNAME_LENGTH	64


enum NtmsLmOperation {
    NTMS_LM_REMOVE          = 0,
    NTMS_LM_DISABLECHANGER  = 1,
    NTMS_LM_ENABLECHANGER   = 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_DEFFERED    = 6,
	NTMS_LM_CANCELLED	= 7,
	NTMS_LM_STOPPED		= 8
};

#ifdef UNICODE
#define _NTMS_LIBREQUESTINFORMATION _NTMS_LIBREQUESTINFORMATIONW
#define NTMS_LIBREQUESTINFORMATION NTMS_LIBREQUESTINFORMATIONW
#else
#define _NTMS_LIBREQUESTINFORMATION _NTMS_LIBREQUESTINFORMATIONA
#define NTMS_LIBREQUESTINFORMATION NTMS_LIBREQUESTINFORMATIONA
#endif

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];
} 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];
} NTMS_LIBREQUESTINFORMATIONW;

#define NTMS_MESSAGE_LENGTH		127

enum NtmsOpreqCommand {
	NTMS_OPREQ_UNKNOWN			= 0,
	NTMS_OPREQ_NEWMEDIA			= 1,
	NTMS_OPREQ_CLEANER			= 2,
	NTMS_OPREQ_DEVICESERVICE	= 3,
	NTMS_OPREQ_MOVEMEDIA		= 4,
	NTMS_OPREQ_MESSAGE			= 5
};

enum NtmsOpreqState {
	NTMS_OPSTATE_UNKNOWN		= 0,
	NTMS_OPSTATE_SUBMITTED		= 1,
	NTMS_OPSTATE_ACTIVE			= 2,
	NTMS_OPSTATE_INPROGRESS		= 3,
	NTMS_OPSTATE_REFUSED		= 4,
	NTMS_OPSTATE_COMPLETE		= 5
};

#ifdef UNICODE
#define _NTMS_OPREQUESTINFORMATION _NTMS_OPREQUESTINFORMATIONW
#define NTMS_OPREQUESTINFORMATION NTMS_OPREQUESTINFORMATIONW
#else
#define _NTMS_OPREQUESTINFORMATION _NTMS_OPREQUESTINFORMATIONA
#define NTMS_OPREQUESTINFORMATION NTMS_OPREQUESTINFORMATIONA
#endif

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;

#define NTMS_OBJECTNAME_LENGTH	64
#define NTMS_DESCRIPTION_LENGTH 127

#ifdef UNICODE
#define _NTMS_OBJECTINFORMATION _NTMS_OBJECTINFORMATIONW
#define NTMS_OBJECTINFORMATION NTMS_OBJECTINFORMATIONW
#define LPNTMS_OBJECTINFORMATION LPNTMS_OBJECTINFORMATIONW
#else
#define _NTMS_OBJECTINFORMATION _NTMS_OBJECTINFORMATIONA
#define NTMS_OBJECTINFORMATION NTMS_OBJECTINFORMATIONA
#define LPNTMS_OBJECTINFORMATION LPNTMS_OBJECTINFORMATIONA
#endif

enum NtmsOperationalState {
	NTMS_READY  = 0,
	NTMS_NEEDS_SERVICE = 20,
	NTMS_NOT_PRESENT = 21
};

typedef struct _NTMS_OBJECTINFORMATIONA {
	DWORD		dwSize;
	DWORD		dwType;
	SYSTEMTIME	Created;
	SYSTEMTIME	Modified;
	NTMS_GUID	ObjectGuid;
	BOOL		Enabled;
	DWORD		dwOperationalState;
	CHAR		szName[NTMS_OBJECTNAME_LENGTH];
	CHAR		szDescription[NTMS_DESCRIPTION_LENGTH];
#ifdef MIDL_PASS
	[switch_is(dwType)] union {
		[case(NTMS_DRIVE)] 			NTMS_DRIVEINFORMATIONA Drive;
		[case(NTMS_DRIVE_TYPE)]		NTMS_DRIVETYPEINFORMATIONA DriveType;
		[case(NTMS_LIBRARY)]		NTMS_LIBRARYINFORMATION Library;
		[case(NTMS_CHANGER)]		NTMS_CHANGERINFORMATIONA Changer;
		[case(NTMS_CHANGER_TYPE)]	NTMS_CHANGERTYPEINFORMATIONA ChangerType;
		[case(NTMS_STORAGESLOT)]	NTMS_STORAGESLOTINFORMATION StorageSlot;
		[case(NTMS_IEDOOR)]			NTMS_IEDOORINFORMATION IEDoor;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -