This file lists the OS/2 APIs that are supported, not supported,
and partially supported in Windows NT 3.5. It gives an explanation
of the restrictions on those APIs that are partially supported.
OS/2 APIs supported in Windows NT, version 3.5
----------------------------------------------
DosAllocHuge
DosAllocSeg
DosAllocShrSeg
DosBeep
DosBufReset
DosCallback
DosCallNmPipe
DosCaseMap
DosChDir
DosChgFilePtr
DosCLIAccess
DosClose
DosCloseQueue
DosCloseSem
DosConnectNmPipe
DosCopy
DosCreateCSAlias
DosCreateQueue
DosCreateSem
DosCreateThread
DosCwait
DosDelete
DosDevConfig
DosDisConnectNmPipe
DosDupHandle
DosEditName
DosEnterCritSec
DosEnumAttribute
DosErrClass
DosError
DosExecPgm
DosExit
DosExitCritSec
DosExitList
DosFileIO
DosFileLocks
DosFindClose
DosFindFirst
DosFindFirst2
DosFindNext
DosFlagProcess
DosFreeModule
DosFreeResource
DosFreeSeg
DosFSCtl
DosFSRamSemClear
DosFSRamSemRequest
DosGetCollate
DosGetCp
DosGetCtryInfo
DosGetDateTime
DosGetDBCSEv
DosGetEnv
DosGetHugeShift
DosGetInfoSeg
DosGetMachineMode
DosGetMessage
DosGetModHandle
DosGetModName
DosGetPID
DosGetPPID
DosGetProcAddr
DosGetPrty
DosGetResource
DosGetResource2
DosGetSeg
DosGetShrSeg
DosGetVersion
DosGiveSeg
DosHoldSignal
DosHugeIncr
DosHugeShift
DosInsMessage
DosKillProcess
DosLoadModule
DosLockSeg
DosMakeNmPipe
DosMakePipe
DosMemAvail
DosMkDir
DosMkDir2
DosMonClose
DosMonOpen
DosMonRead
DosMonReg
DosMonWrite
DosMove
DosMuxSemWait
DosNewSize
DosOpen
DosOpen2
DosOpenQueue
DosOpenSem
DosPeekNmPipe
DosPeekQueue
DosPhysicalDisk
DosPTrace
DosPurgeQueue
DosPutMessage
DosQAppType
DosQCurDir
DosQCurDisk
DosQFHandState
DosQFileInfo
DosQFileMode
DosQFSAttach
DosQFSInfo
DosQHandType
DosQNmPHandState
DosQNmPipeInfo
DosQNmPipeSemState
DosQPathInfo
DosQSysInfo
DosQueryQueue
DosQVerify
DosR2StackRealloc
DosRead
DosReadAsync
DosReadQueue
DosReallocHuge
DosReallocSeg
DosResumeThread
DosRmDir
DosScanEnv
DosSearchPath
DosSelectDisk
DosSelectSession
DosSemClear
DosSemRequest
DosSemSet
DosSemSetWait
DosSemWait
DosSendSignal
DosSetCp
DosSetDateTime
DosSetFHandState
DosSetFileInfo
DosSetFileMode
DosSetFilePtr
DosSetFSInfo
DosSetMaxFH
DosSetNmPHandState
DosSetNmPipeSem
DosSetPathInfo
DosSetProcCp
DosSetPrty
DosSetSession
DosSetSigHandler
DosSetVec
DosSetVerify
DosSizeSeg
DosSleep
DosStartSession
DosStopSession
DosSubAlloc
DosSubFree
DosSubSet
DosSuspendThread
DosTimerAsync
DosTimerStart
DosTimerStop
DosTransactNmPipe
DosUnlockSeg
DosWaitNmPipe
DosWrite
DosWriteAsync
DosWriteQueue
KbdCharIn
KbdClose
KbdFlushBuffer
KbdFreeFocus
KbdGetCp
KbdGetFocus
KbdGetHWID
KbdGetStatus
KbdOpen
KbdPeek
KbdSetCp
KbdSetFgnd
KbdSetStatus
KbdStringIn
KbdXlate
MouClose
MouFlushQue
MouGetDevStatus
MouGetEventMask
MouGetNumButtons
MouGetNumQueEl
MouGetPtrPos
MouOpen
MouReadEventQue
MouSetDevStatus
MouSetEventMask
NetAPI calls supported in Windows NT, version 3.5
-------------------------------------------------
The table below details the OS/2 NetAPIs and the level of support for them
under Windows NT 3.5. The different levels of support are:
- Full: no significant restrictions apply
- Down-level server + self: the API works only when the target LanMan server
(i.e. the server for which information is to be retrieved/modified etc.)
is a 'down-level' server (i.e. not Windows NT, for example: DOS, OS/2,
Windows for Workgroups).
In addition, the API works in the special case where the API is applied
to the local machine.
- Down-level server only: same as above, but doesn't work when applied to the
local machine.
- Unsupported: the API is not supported under Windows NT.
The APIs are listed by functional groups.
SUPPORT LEVEL
| Full | Down-level | Down-level | Unsupported |
| | server + self | server only | |
|------|---------------|-------------|-------------|
Access Permission APIs: | | | | |
---------------------- | | | | |
NetAccessAdd | | | x | |
NetAccessCheck | | | | x |
NetAccessDel | | | x | |
NetAccessEnum | | | x | |
NetAccessGetInfo | | | x | |
NetAccessGetUserPerms | | | x | |
NetAccessSetInfo | | | x | |
Alert APIs: | | | | |
----------- | | | | |
NetAlertRaise | | | | x |
NetAlertStart | | | | x |
NetAlertStop | | | | x |
Auditing APIs: | | | | |
-------------- | | | | |
NetAuditClear | | | x | |
NetAuditOpen | | | | x |
NetAuditRead | | | x | |
NetAuditWrite | | | | x |
Character Device APIs: | | | | |
---------------------- | | | | |
NetCharDevControl | | | x | |
NetCharDevEnum | | | x | |
NetCharDevGetInfo | | | x | |
NetCharDevQEnum | | | x | |
NetCharDevQGetInfo | | | x | |
NetCharDevQPurge | | | x | |
NetCharDevQPurgeSelf | | | x | |
NetCharDevQSetInfo | | | x | |
Config APIs: | | | | |
------------ | | | | |
NetConfigGet | x | | | |
NetConfigGet2 | | | | x |
NetConfigGetAll2 | | | | x |
NetConfigSet | | | | x |
Connection APIs: | | | | |
---------------- | | | | |
NetConnectionEnum | x | | | |
Domain APIs: | | | | |
------------ | | | | |
NetGetDcName | x | | | |
NetLogonEnum | | | x | |
ErrorLogging APIs: | | | | |
------------------ | | | | |
NetErrorLogClear | | | x | |
NetErrorLogRead | | | x | |
NetErrorLogWrite | | | | x |
File APIs: | | | | |
---------- | | | | |
NetFileClose | | | x | |
NetFileClose2 | | | x | |
NetFileEnum | | | x | |
NetFileEnum2 | | | x | |
NetFileGetInfo | | | x | |
NetFileGetInfo2 | | | x | |
Group APIs: | | | | |
----------- | | | | |
NetGroupAdd | x | | | |
NetGroupAddUser | x | | | |
NetGroupDel | x | | | |
NetGroupDelUser | x | | | |
NetGroupEnum | x | | | |
NetGroupGetInfo | x | | | |
NetGroupGetUsers | x | | | |
NetGroupSetInfo | x | | | |
NetGroupSetUsers | x | | | |
Handle APIs: | | | | |
------------ | | | | |
NetHandleGetInfo | | | x | |
NetHandleSetInfo | | | x | |
Mailslot APIs: | | | | |
-------------- | | | | |
DosDeleteMailslot | x | | | |
DosMailslotInfo | x | | | |
DosMakeMailslot | x | | | |
DosPeekMailslot | x | | | |
DosReadMailslot | x | | | |
DosWriteMailslot | x | | | |
Message APIs: | | | | |
------------- | | | | |
NetMessageBufferSend | x | | | |
NetMessageFileSend | | | x | |
NetMessageLogFileGet | | | x | |
NetMessageLogFileSet | | | x | |
NetMessageNameAdd | x | | | |
NetMessageNameDel | x | | | |
NetMessageNameEnum | x | | | |
NetMessageNameFwd | | | x | |
NetMessageNameGetInfo | x | | | |
NetMessageNameUnFwd | | | x | |
Print Destination APIs: | | | | |
----------------------- | | | | |
DosPrintDestAdd | | | | x |
DosPrintDestControl | | | | x |
DosPrintDestDel | | | | x |
DosPrintDestEnum | | | | x |
DosPrintDestGetInfo | | | | x |
DosPrintDestSetInfo | | | | x |
Print Job APIs: | | | | |
--------------- | | | | |
DosPrintJobContinue | | | | x |
DosPrintJobDel | | | | x |
DosPrintJobEnum | | | | x |
DosPrintJobGetId | | | | x |
DosPrintJobGetInfo | | | | x |
DosPrintJobPause | | | | x |
DosPrintJobSetInfo | | | | x |
Print Queue APIs: | | | | |
----------------- | | | | |
DosPrintQAdd | | | | x |
DosPrintQContinue | | | | x |
DosPrintQDel | | | | x |
DosPrintQEnum | | | | x |
DosPrintQGetInfo | | | | x |
DosPrintQPause | | | | x |
DosPrintQPurge | | | | x |
DosPrintQSetInfo | | | | x |
Profile APIs: | | | | |
------------- | | | | |
NetProfileSave | | | x | |
NetProfileLoad | | | x | |
Remote Utility APIs: | | | | |
-------------------- | | | | |
NetRemoteCopy | | | x | |
NetRemoteExec | | | x | |
NetRemoteMove | | | x | |
NetRemoteTOD | x | | | |
Server APIs: | | | | |
------------ | | | | |
NetServerAdminCommand | | | x | |
NetServerDiskEnum | x | | | |
NetServerEnum | | | x | |
NetServerEnum2 | | | x | |
NetServerGetInfo | x | | | |
NetServerSetInfo | x | | | |
Service APIs: | | | | |
------------- | | | | |
NetServiceControl | x | | | |
NetServiceEnum | x | | | |
NetServiceGetInfo | x | | | |
NetServiceInstall | x | | | |
NetServiceStatus | | | | x |
Session APIs: | | | | |
------------- | | | | |
NetSessionDel | x | | | |
NetSessionEnum | x | | | |
NetSessionGetInfo | x | | | |
Share APIs: | | | | |
----------- | | | | |
NetShareAdd | x | | | |
NetShareCheck | x | | | |
NetShareDel | x | | | |
NetShareEnum | x | | | |
NetShareGetInfo | x | | | |
NetShareSetInfo | x | | | |
Statistics APIs: | | | | |
---------------- | | | | |
NetStatisticsClear | | | x | |
NetStatisticsGet | | | x | |
NetStatisticsGet2 | x | | | |
Use APIs: | | | | |
--------- | | | | |
NetUseAdd | | x | | |
NetUseDel | | x | | |
NetUseEnum | | x | | |
NetUseGetInfo | | x | | |
User APIs: | | | | |
---------- | | | | |
NetUserAdd | x | | | |
NetUserDel | x | | | |
NetUserEnum | x | | | |
NetUserGetGroups | x | | | |
NetUserGetInfo | x | | | |
NetUserModalsGet | x | | | |
NetUserModalsSet | x | | | |
NetUserPasswordSet | x | | | |
NetUserSetGroups | x | | | |
NetUserSetInfo | x | | | |
NetUSerValidate2 | | | | x |
Workstation APIs: | | | | |
----------------- | | | | |
NetWkstaGetInfo | x | | | |
NetWkstaSetInfo | x | | | |
NetWkstaSetUID | | | | x |
NetWkstaSetUID2 | | | | x |
NetBios (V3.0)
--------------
NetBiosClose (V2.X)
NetBiosEnum (V2.X)
NetBiosGetInfo (V2.X)
NetBiosOpen (V2.X)
NetBiosSubmit (V2.X)
VIO APIs
--------
VioCheckCharType
VioEndPopUp
VioGetAnsi
VioGetBuf
VioGetCp
VioGetCurPos
VioGetCurType
VioPopUp
VioReadCellStr
VioReadCharStr
VioScrLock
VioScrollDn
VioScrollLf
VioScrollRt
VioScrollUp
VioScrUnLock
VioSetAnsi
VioSetCp
VioSetCurPos
VioSetCurType
VioShowBuf
VioWrtCellStr
VioWrtCharStr
VioWrtCharStrAtt
VioWrtNAttr
VioWrtNCell
VioWrtNChar
VioWrtTTY
VIO calls supported only when called by PM applications (non-null HPS parameter)
--------------------------------------------------------------------------------
VioAssociate
VioCreateLogFont
VioCreatePS
VioDeleteSetId
VioDeRegister
VioDestroyPS
VioGetDeviceCellSize
VioGetFont
VioGetOrg
VioGetPhysBuf
VioModeUndo
VioModeWait
VioPrtSc
VioPrtScToggle
VioQueryFonts
VioQuerySetIds
VioRedrawSize
VioRegister
VioSavRedrawUndo
VioSavRedrawWait
VioSetDeviceCellSize
VioSetFont
VioSetOrg
VioShowPS
Win/Gpi/Dev API: all supported by the PM Subsystem
----------------
OS/2 APIs Not Supported in Windows NT, version 3.5
--------------------------------------------------
DosDynamicTrace
DosFindNotifyClose
DosFindNotifyFirst
DosFindNotifyNext
DosOplockRelease
DosOplockWait
DosPortAccess
DosShutdown
DosSystemService
DosSysTrace
KbdDeRegister
KbdRegister
KbdSetCustXt
KbdSynch
MouDeRegister
MouDrawPtr
MouGetNumMickeys
MouGetPtrShape
MouGetScaleFact
MouInitReal
MouRegister
MouRemovePtr
MouSetPtrPos
MouSetPtrShape
MouSetScaleFact
MouSynch
PicIchg
PicPrint
OS/2 APIs Partially Supported in Windows NT, version 3.5
--------------------------------------------------------
DosDevIOCtl, DosDevIOCtl2
The IOCTLs from the Screen and Pointer Draw category are not supported.
All of the IOCTLs from the General category are supported.
All of the IOCTLs from the Asynchronous Communications category
are supported:
ASYNC_GETBAUDRATE
ASYNC_GETCOMMERROR
ASYNC_GETCOMMEVENT
ASYNC_GETCOMMSTATUS
ASYNC_GETDCBINFO
ASYNC_GETINQUECOUNT
ASYNC_GETLINECTRL
ASYNC_GETLINESTATUS
ASYNC_GETMODEMINPUT
ASYNC_GETMODEMOUTPUT
ASYNC_GETOUTQUECOUNT
ASYNC_SETBAUDRATE
ASYNC_SETBREAKOFF
ASYNC_SETBREAKON
ASYNC_SETDCBINFO
ASYNC_SETLINECTRL
ASYNC_SETMODEMCTRL
ASYNC_STARTTRANSMIT
ASYNC_STOPTRANSMIT
ASYNC_TRANSMITIMM
The following IOCTLs from the Keyboard category are supported:
KBD_CREATE
KBD_DESTROY
KBD_GETCODEPAGE
KBD_GETINPUTMODE
KBD_GETINTERIMFLAG
KBD_GETSHIFTSTATE
KBD_PEEKCHAR
KBD_READCHAR
KBD_SETFOCUS
KBD_SETINPUTMODE
KBD_SETINTERIMFLAG
KBD_SETKCB
KBD_SETSHIFTSTATE
All of the IOCTLs from the Printer category are supported:
PRT_ACTIVATEFONT
PRT_GETFRAMECTL
PRT_GETINFINITERETRY
PRT_GETPRINTERSTATUS
PRT_INITPRINTER
PRT_QUERYACTIVEFONT
PRT_SETFRAMECTL
PRT_SETINFINITERETRY
PRT_VERIFYFONT
PTR_GETPTRDRAWADDRESS
The following IOCTLs from the Pointing Device (Mouse) category
are supported:
MOU_GETBUTTONCOUNT
MOU_GETEVENTMASK
MOU_GETMICKEYCOUUT
MOU_GETMOUSTATUS
MOU_GETQUESTATUS
MOU_READQUESTATUS
MOU_SETEVENTMASK
MOU_SETMOUSTATUS
The following IOCTLs from the Disk Control category are supported:
DSK_BLOCKREMOVABLE
DSK_GETDEVICEPARAMS
DSK_GETLOGICALMAP
DSK_LOCKDRIVE
DSK_READTRACK
DSK_REDETERMINEMEDIA
DSK_SETLOGICALMAP
DSK_SYNC
DSK_UNLOCKDRIVE
DSK_VERIFYTRACK
The following IOCTL from the Physical Disk Control category is supported:
PDSK_GETPHYSDEVICEPARAMS
The following IOCTL from the Monitors category is supported:
MON_REGISTERMONITOR
DosFSAttach
This function partially implements the DosFSAttach() API. The only valid
FsName is "LAN". The format expected for the arguments is as follows:
DeviceName = device name, e.g. "J:", "LPT1:"
FsName = "LAN"
FsData = "\01\0SHARENAME" for a regular connection or
"\02\0SHARENAME\0PASSWORD" for a password connection or
"\03\0SHARENAME\0PASSWORD\0USERNAME" for a
username/password connection.
FsDataLength = length of FsData
AttachFlags = FS_ATTACH or FS_DETACH
The function connects to the network using WNetAdd/DelConnection().
Therefore it will use the multiple provider router to connect to any
type of network for which Windows NT has a redirector. The SHARENAME
format depends on the network you're trying to reach. For LanMan/MsNet
networks it is "\\\\sharename\\servername".
If DeviceName is a drive letter, the drive is automatically reset to the
root directory after a connection and before a disconnection. This is
for compatibility with OS/2.
VioGetConfig
The following return values will always be returned in the _VIOCONFIGINFO
structure. All other fields will always return 0 (zero).
adapter = DISPLAY_VGA
display = MONITOR_851X_COLOR
cbMemory = 0x40000 (262,144)
VioGetMode
The following return values will always be returned in the _VIOMODEINFO
structure. Values for col, row, hres, and vres will contain the correct
values.
fbType = VGMT_OTHER
color = COLOR_16
fmt_ID = 0
attrib = 0
buf_addr = 0xFFFFFFFF
buf_length = 0L
full_length = 0L
partial_length = 0L
ex_data_addr = 0xFFFFFFFF
VioSetMode
The col and row fields in the _VIOMODEINFO structure will be used.
All other fields will be ignored. No error code or value checking
will be performed.
VioGetState, VioSetState
All fields in the structure will contain initial values, as indicated
in the following list. Any setting of new values will be saved and
returned on the next VioGetState call.
VIOINTENSITY.fs = 0x0001
VIOOVERSCAN.color = 0
VIOPALSTATE.acolor = all 0
VIOCOLORREG.colorregaddr = all 0
VIOSETUNLINELOC.scanline = 31
VIOSETTARGET = (only primary display)