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

📄 interrup.m

📁 A Programmer s Reference to BIOS, DOS, and Third-Party Calls
💻 M
📖 第 1 页 / 共 5 页
字号:
	    03h get extended printer control flags
	AX = offset within Print structures at which to start read/write
	CX = number of bytes to transfer
	DX = printing device number (00h=LPT1/PRN, 01h=LPT2, etc.)
	DS:SI -> buffer containing values for flags (subfunctions 00h/02h)
	ES:DI -> buffer for flags (subfunctions 01h/03h
	Return: AX = status (see #02860)
		---if successful---
		CX = number of bytes returned (subfunctions 01h/03h)
		DX = maximum supported size for function/type of data
 05h	Print Open Capture File
 07h	Print Get Num Of Printers
	BX = subfunction
	    0000h get number of physical printers
	    nonzero: get configured printer (from NET.CFG)
	Return: AX = status (see #02860)
		---if successful---
		BX = number of physical/configured printers
 08h	Print Redirection
	BX = subfunction
	    0000h redirect device to queue
		AX = length of queue name, 0000h to use queue ID
		CX = connection handle
		DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
		DS:SI -> uppercased ASCIZ queue name
		ES:DI -> DWORD queue ID, 00000000h to use queue name
	    0001h test whether device is redirected
		DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
	    0002h cancel redirection
		DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
	    0003h redirect device to file
		AX = 0000h or 4E57h ('NW')
		CX = connection handle
		DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
		ES:DI -> ASCIZ path of file
	    0004h get extended redirection information (see #02886)
		DX = printer/device number (00h=LPT1/PRN, 01h=LPT2, etc.)
		ES:DI -> buffer for server/queue name
		Return: ES:DI buffer filled
	Return: AX = 0000h if successful
 09h	Print Flush And Close Job
	BX = subfunction
	    0000h unconditional close
	    nonzero: conditional close -- close only if concatenate flag is
		  clear
	DX = index of printing device (00h=LPT1/PRN, 01h=LPT2, etc.)
	Return: AX = status (see #02860)
 0Ch	Print Get/Set Banner Name
	BL = subfunction
	    00h set banner name
		DS:SI -> ASCIZ banner name (12 bytes, including NUL)
	    01h get banner name
		ES:DI -> 12-byte buffer for banner name
	Return: AX = status (see #02860)

Format of PRINT.VLM statistics:
Offset	Size	Description	(Table 02885)
 00h	WOFD	size of statistics buffer (including this word)
 02h	DWORD	-> old INT 17 handler
 06h	WORD	number of physical printers reported by BIOS
SeeAlso: #02884

Format of PRINT.VLM standard print control information:
Offset	Size	Description	(Table 02886)
 00h	BYTE	PFStatus (reserved, 00h)
 01h	BYTE	print flags (default 80h)
		bit 2: release job for printing if capture interrupted
		bit 3: suppress form feed
		bit 4: notify
		bit 6: text file
		bit 7: print banner
 02h	BYTE	tab size (01h-12h, default 08h)
 03h	BYTE	number of copies (default 01h)
 04h	BYTE	??? (may be number of copies instead of offset 03h)
 05h	BYTE	form type to be mounted in printer (default 00h)
 06h	BYTE	reserved (00h)
 07h 14 BYTEs	banner
 15h	BYTE	capture printer (LPT) number
 16h	WORD	capture timeout in seconds
 18h	BYTE	job concatenation flag (00h or 01h, default 00h)
 19h	BYTE	maximum lines per page (default 66)
 1Ah	BYTE	??? (may be maximum lines instead of offset 19h)
 1Bh	BYTE	maximum characters per line (default 132)
 1Ch	BYTE	??? (may be maximum characters instead of offset 1Ch)
 1Dh 13 BYTEs	name of form to be mounted in printer
 2Ah	BYTE	flag: capture active (00h or FFh, default 00h)
 2Bh	BYTE	flag: capturing to file (00h or 01h, default 00h)
 2Ch	BYTE	flag: timeout field is being decremented (default 00h)
 2Dh	DWORD	-> printer setup string
 31h	DWORD	-> printer reset string
 35h	BYTE	reserved (01h)
---remainder is read-only---
 36h	BYTE	flag: job has started printing (00h or FFh, default 00h)
 37h	BYTE	flag: job placed in queue (00h or FFh, default 00h)
 38h	BYTE	flag: PJobValid (00h or FFh, default 00h)
		FFh if associated capture file is open for capturing data
 39h	DWORD	print-queue ID
 3Dh	WORD	print-job number (default 00h) (1-999)
 3Fh	BYTE	number of chars in INT 17h print cache buffer (default 00h)
 40h	BYTE	???
 41h	WORD	high word of print-job number (default 00h)
SeeAlso: #02884,#02887

Format of PRINT.VLM extended print control information:
Offset	Size	Description	(Table 02887)
 00h	DWORD	NDS printer object ID or directory entry number (when capturing
		  to a file)
 04h	BYTE	connection handle for server
 06h 48 BYTEs	ASCIZ print queue name on server
 36h	DWORD	ID of target server, or FFFFFFFFh if any server may be used
 3Ah  6 BYTEs	target print time, FFFFFFFFFFFFh for immediate printing
 40h	BYTE	status flags
 41h	BYTE	???
 42h 13 BYTEs	client's banner name (overrides global banner if set)
 4Fh 13 BYTEs	job description
 5Ch  4 BYTEs	reserved (0)
SeeAlso: #02884,#02886

(Table 02888)
Call GENERAL.VLM (VLM ID 0043h) with:
Func	Description/Registers
 01h	Gen Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	Gen Statistics
	CX = length of statistics buffer
	ES:DI -> buffer for statistics (see #02889)
	Return: AX = status (see #02860)
 04h	Gen Get/Set Primary
	BX = subfunction
	    0001h get primary connection
		CX = primary connection handle to be retrieved
		Return: AX = status (see #02860)
			CX = primary connection handle
	    0002h set primary connection
		CX = primary connection handle to be stored
		Return: AX = status (see #02860)
 06h	Gen Specific
	BX = subfunction
	    0000h get command processor and master environment addresses
		Return: DX = segment of master environment
			ES:DI -> command processor's private COMSPEC= copy
	    0001h get default or primary connection
		Return: AX = status (0000h successful)
			CX = connection handle if successful
	    0002h last queue information
		AL = operation
		    00h zap
		    01h set
		    02h get
		DI:DX = queue file handle
		CX = connection handle
		Return: AX = status (0000h successful)
			DI:DX = queue file handle
			CX = connection handle or 0000h if queue info invalid
	    0003h get/set machine name(s)
		AX = name type
		    00h get short machine name
		    02h get long machine name
		    04h set short machine name
		    06h set long machine name
		    08h get DOS name
		    0Ah set DOS name
		ES:SI -> ASCIZ name if setting
		Return: AX = status (0000h if successful)
			ES:SI -> ASCIZ name if getting
	    0004h set per-task EXEC search mode
		Return: AX = status (0000h if successful)
 09h	Gen Return Drive Info
	BX = subfunction
	    0000h get first available drive
		Return: AX = status (see #02860)
			BX = drive letter of first drive
	    0001h get Lastdrive
		Return: AX = status (see #02860)
			CH = number lastdrive 1=A: - 1Ah=Z:

Format of NetWare GENERAL.VLM statistics:
Offset	Size	Description	(Table 02889)
 00h	WORD	size of statistics record, including this word
 02h	DWORD	previous INT 21 vector
SeeAlso: #02888

(Table 02890)
Call NETX.VLM (VLM ID 0050h) with:
Func	Description/Registers
 01h	NetX Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	NetX Statistics
	CX = length of statistics buffer
	ES:DI -> buffer for statistics (see #02891)
	Return: AX = status (see #02860)

Format of NETX.VLM statistics:
Offset	Size	Description	(Table 02891)
 00h	WORD	buffer size, including this word
 02h	DWORD	previous INT 21 handler
SeeAlso: #02890

(Table 02892)
Call SECURITY.VLM (VLM ID 0061h) with:
Func	Description/Registers
 01h	Security Get Version
	BX = function
	    0000h get version
		Return: AX = status (see #02860)
			BX = major version of VLM supported (0001h)
			CX = minor version of VLM supported (0000h)
 03h	Security Statistics
 04h	???
	AL = subfunction
	    01h compute session key
		DS:SI -> 24-byte input buffer
		ES:DI -> 8-byte output buffer
--------N-2F7A20BX0001-----------------------
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM CallA ADDRESS
	AX = 7A20h
	BX = 0001h
Return: AX = 0000h if request was handled
	    ES:BX -> CallA entry point (see #02893)
SeeAlso: AX=7A20h/BX=0000h

(Table 02893)
Call VLM CallA entry point with:
	AX = function
	    0000h submit
	    0001h cancel (not implemented)
	ES:DI -> Overlay Asynchronous Control Block structure (see #02894)
Return: DI, DS, ES preserved; all other registers may be destroyed
	interrupts disabled
Desc:	asychronously call the specified VLM and then return to caller, which
	  might be another VLM

Format of Overlay Asynchronous Control Block (OACB):
Offset	Size	Description	(Table 02894)
 00h	DWORD	link to next OACB, 0000h:0000h if last (filled by VLM.EXE)
 04h	DWORD	callback address or 0000h:0000h
 08h	BYTE	InUse flag (00h if complete) (set by VLM.EXE)
 09h	BYTE	flag, reserved for VLM use
 0Ah	WORD	destination VLM
 0Ch	WORD	destination function
 0Eh	WORD	temporary storage for VLM.EXE
 10h  6 BYTEs	reserved
 16h  6 DWORDs	EAX,EBX,ECX,EDX,ESI,EDI
 2Eh  4 WORDs	DS,ES,FS,GS (FS and GS not used)
--------N-2F7A20BX0002-----------------------
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM MULTIPLEX ADDRESS
	AX = 7A20h
	BX = 0002h
Return: AX = 0000h
	ES:BX -> VLM multiplex entry point (see #02895)
Note:	for v1.10, this function is only available while VLM.EXE is loading
	  the .VLM modules, because ES is destroyed on return
SeeAlso: AX=7A20h/BX=0000h,AX=7A20h/BX=0001h,AX=7A20h/BX=0003h

(Table 02895)
Call DOS Requester entry point with:
	BX = function???
	    0000h
		DX = ???
		DI = ???
		BP = ???
	    0002h
		CX = ???
	    0003h
		DX = ???
		BP = ???
	    0006h
		AH = subfunction???
		AL = ???
		STACK: variable (0, 4, 10, 14 bytes seen)
--------N-2F7A20BX0003-----------------------
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM PARSE API ADDRESS
	AX = 7A20h
	BX = 0003h
Return: AX = 0000h if request was handled
	    ES:BX -> VLM parse API entry point
--------N-2F7A20BX0004-----------------------
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM MULTICAST CALLOUT
	AX = 7A20h
	BX = 0004h
Return: AX = 0000h if request was handled
	    ES:BX -> VLM multicast data (see #02896)
SeeAlso: AX=7A20h/BX=0000h,AX=7A20h/BX=0002h,AX=7A20h/BX=0005h

Format of DOS Requester data:
Offset	Size	Description	(Table 02896)
 00h	DWORD	pointer to ??? (code)
 04h  4 BYTEs	???
 08h	DWORD	pointer to ??? (code) (see #02897)
	???

(Table 02897)
Call offset 08h function with:
	AL = function (00h-07h)
	???
Return: ???
--------N-2F7A20BX0005-----------------------
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET VLM INT 24 ADDRESS
	AX = 7A20h
	BX = 0005h
Return: AX = 0000h if request was handled
	    ES:BX -> VLM INT 24 handler
SeeAlso: AX=7A20h/BX=0000h,AX=7A20h/BX=0002h,AX=7A20h/BX=0004h
--------N-2F7A20BX0006-----------------------
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0006h
Return: AX = 0000h if request was handled
	    ES:BX -> ??? entry point (RETF in v1.03 and v1.10)
--------N-2F7A20BX0007-----------------------
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0007h
Return: AX = 0000h
	ES:BX -> ??? entry point (RETF in v1.03 and v1.10)
--------N-2F7A20BX0008-----------------------
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0008h
Return: AX = 0000h
	ES:BX -> ??? entry point (RETF in v1.03 and v1.10)
--------N-2F7A20BX0080-----------------------
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0080h
Return: AX = 0000h
	ES:BX -> ??? entry point (RETF in v1.03 and v1.10)
Note:	this function is identical to AX=7A20h/BX=0006h in v1.03 and v1.10
--------N-2F7A20BX0081-----------------------
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0081h
Return: AX = 0000h
	ES:BX -> ??? entry point (RETF in v1.03 and v1.10)
Note:	this function is identical to AX=7A20h/BX=0007h in v1.03 and v1.10
--------N-2F7A20BX0082-----------------------
INT 2F - Novell NetWare - DOS Requester v1.03+ - GET ??? ENTRY POINT
	AX = 7A20h
	BX = 0082h
Return: AX = 0000h
	ES:BX -> ??? entry point (RETF in v1.03 and v1.10)
Note:	this function is identical to AX=7A20h/BX=0008h in v1.03 and v1.10
--------N-2F7A21-----------------------------
INT 2F C - Novell NetWare - DOS Requester - BROADCAST CALLBACK
	AX = 7A21h
	CX = server connection (FFFFh if message from Personal NetWare user)
	interrupts disabled
Return: CX = 0000h if broadcast handled
	interrupts disabled
Note:	this function is only linked into INT 2F when INT 21/AH=DEh/DL=05h
	  has been issued
SeeAlso: AX=7A22h,AX=7A85h,INT 21/AH=DEh
--------N-2F7A22-----------------------------
INT 2F C - Novell NetWare - DOS Requester - BROADCAST/SFT3 INFORM

⌨️ 快捷键说明

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