WinDriver v10.10 PCI API リファレンス
|
|
- このか やすこ
- 5 years ago
- Views:
Transcription
1 JUNGO WinDriver PCI / ISA / PCMCIA / CardBus API i
2 JUNGO LTD. COPYRIGHT Copyright (c) Jungo Ltd. All Rigths Reserved. Jungo Ltd. POB 8493 Netanya Zip Israel Phone (USA) (WorldWide) Fax (USA) (WorldWide) Jungo Ltd. WinDriver Jungo Windows Win32 Windows 98 Windows Me Windows CE Windows NT Windows 2000 Windows XP Windows Server 2003 Windows Server 2008 Windows Vista Windows F TEL FAX xlsoftkk@xlsoft.com Home Page: Rev /2009 ii
3 A API... 1 A.1 WDC...1 A.1.1 WD_DriverName()...2 A.2 WDC API...3 A A.2.2 WDC_DriverOpen()...8 A.2.3 WDC_DriverClose()...9 A.2.4 WDC_PciScanDevices()...9 A.2.5 WDC_PciScanDevicesByTopology()...10 A.2.6 WDC_PcmciaScanDevices()...11 A.2.7 WDC_PciGetDeviceInfo()...12 A.2.8 WDC_PcmciaGetDeviceInfo()...13 A.2.9 WDC_PciDeviceOpen()...14 A.2.10 WDC_PcmciaDeviceOpen()...16 A.2.11 WDC_IsaDeviceOpen()...19 A.2.12 WDC_PciDeviceClose()...21 A.2.13 WDC_PcmciaDeviceClose()...22 A.2.14 WDC_IsaDeviceClose()...22 A.2.15 WDC_CardCleanupSetup()...23 A.2.16 WDC_KernelPlugInOpen()...24 A.2.17 WDC_CallKerPlug()...25 A.2.18 WDC_ReadMemXXX()...26 A.2.19 WDC_WriteMemXXX()...27 A.2.20 WDC_ReadAddrXXX()...27 A.2.21 WDC_WriteAddrXXX()...28 A.2.22 WDC_ReadAddrBlock()...29 A.2.23 WDC_WriteAddrBlock()...30 A.2.24 WDC_MultiTransfer()...32 A.2.25 WDC_AddrSpaceIsActive()...32 A.2.26 WDC_PciReadCfgBySlot()...33 A.2.27 WDC_PciWriteCfgBySlot()...34 A.2.28 WDC_PciReadCfg()...35 A.2.29 WDC_PciWriteCfg()...36 A.2.30 WDC_PciReadCfgBySlotXXX()...37 A.2.31 WDC_PciWriteCfgBySlotXXX()...38 A.2.32 WDC_PciReadCfgXXX()...39 A.2.33 WDC_PciWriteCfgXXX()...40 iii
4 WINDRIVER PCI A.2.34 WDC_PcmciaReadAttribSpace()...41 A.2.35 WDC_PcmciaWriteAttribSpace()...41 A.2.36 WDC_PcmciaSetWindow()...42 A.2.37 WDC_PcmciaSetVpp()...43 A.2.38 WDC_DMAContigBufLock()...44 A.2.39 WDC_DMASGBufLock()...45 A.2.40 WDC_DMABufUnlock()...47 A.2.41 WDC_DMASyncCpu()...47 A.2.42 WDC_DMASyncIo()...48 A.2.43 WDC_SharedBufferAlloc()...49 A.2.44 WDC_SharedBufferFree()...50 A.2.45 WDC_IntEnable()...51 A.2.46 WDC_IntDisable()...54 A.2.47 WDC_IntIsEnabled()...54 A.2.48 WDC_EventRegister()...55 A.2.49 WDC_EventUnregister()...57 A.2.50 WDC_EventIsRegistered()...57 A.2.51 WDC_SetDebugOptions()...58 A.2.52 WDC_Err()...59 A.2.53 WDC_Trace()...60 A.2.54 WDC_GetWDHandle()...60 A.2.55 WDC_GetDevContext()...61 A.2.56 WDC_GetBusType()...61 A.2.57 WDC_Sleep()...62 A.2.58 WDC_Version()...63 A.3 WDC API...63 A.3.1 WDC_ID_U...63 A.3.2 WDC_ADDR_DESC...64 A.3.3 WDC_DEVICE...64 A.3.4 PWDC_DEVICE...65 A.3.5 WDC_MEM_DIRECT_ADDR...65 A.3.6 WDC_ADDR_IS_MEM...66 A.3.7 A.3.8 A.3.9 WDC_GET_ADDR_DESC...66 WDC_GET_ENABLED_INT_TYPE...67 WDC_GET_INT_OPTIONS...68 A.3.10 WDC_INT_IS_MSI...69 A.3.11 WDC_GET_ENABLED_INT_LAST_MSG...69 A.3.12 WDC_IS_KP...70 A.4 WD_xxx...70 A.4.1 WD_BUS_TYP...70 iv
5 A.4.2 A.4.3 A.4.4 A.4.5 A.4.6 A.4.7 A.4.8 A.4.9 ITEM_TYPE...71 WD_PCMCIA_ACC_SPEED...71 WD_PCMCIA_ACC_WIDTH...71 WD_PCMCIA_VPP...71 WD_PCI_ID...72 WD_PCMCIA_ID...72 WD_PCI_SLOT...72 WD_PCMCIA_SLOT...72 A.4.10 WD_ITEMS...73 A.4.11 A.4.12 A.4.13 A.4.14 A.4.15 WD_CARD...76 WD_PCI_CARD_INFO...76 WD_PCMCIA_CARD_INFO...76 WD_DMA...77 WD_TRANSFER...79 A.5 Kernel PlugIn...80 A.5.1 KP_Init()...80 A.5.2 KP_Open()...82 A.5.3 KP_Close()...83 A.5.4 KP_Call()...84 A.5.5 KP_Event()...85 A.5.6 KP_IntEnable()...86 A.5.7 KP_IntDisable()...88 A.5.8 KP_IntAtIrql()...89 A.5.9 KP_IntAtDpc()...90 A.5.10 KP_IntAtIrqlMSI()...91 A.5.11 KP_IntAtDpcMSI()...93 A.5.12 COPY_TO_USER_OR_KERNEL COPY_FROM_USER_OR_KERNEL...94 A.5.13 Kernel PlugIn API...95 A.6 Kernel PlugIn A.6.1 WD_KERNEL_PLUGIN A.6.2 WD_INTERRUPT A.6.3 WD_KERNEL_PLUGIN_CALL A.6.4 KP_INIT A.6.5 KP_OPEN_CALL A A.7.1 Stat2Str() A.7.2 get_os_type() A.7.3 ThreadStart() A.7.4 ThreadWait() v
6 WINDRIVER PCI A.7.5 OsEventCreate() A.7.6 OsEventClose() A.7.7 OsEventWait() A.7.8 OsEventSignal() A.7.9 OsEventReset() A.7.10 OsMutexCreate() A.7.11 OsMutexClose() A.7.12 OsMutexLock() A.7.13 OsMutexUnlock() A.7.14 PrintDbgMessage() A.7.15 WD_LogStart() A.7.16 WD_LogStop() A.7.17 WD_LogAdd() A.8 WinDriver A A.8.2 WinDriver B C (Evaluation Version) C.1 WinDriver Windows C.2 WinDriver Windows CE C.3 WinDriver Linux D WinDriver E F vi
7 A API A API C WinDriver.NET Visual Basic Delphi C WinDriver.NET VB Delphi A.1 WDC WinDriver WDC API WinDriver PCI / ISA / PCMCIA / CardBus WD_xxx API [A.4] WDC PCI / ISA / PCMCIA / CardBus WinDriver WD_xxx PCI / PCMCIA / ISA WinDriver API WDC API WDC API (WinDriver Kernel PlugIn ) DriverWizard PCI / PCMCIA / ISA PLX pci_diag Kernel PlugIn kp_pci pcmcia_diag pci_dump WDC API WDC API wdapi1010 DLL / WinDriver\redist\wdapi1010.dll (Windows 2000 / XP / Server 2003 / Server 2008 / Vista / 7 Windows CE) / WinDriver\redist\WINCE\<TARGET_CPU>\wdapi1010.dll (Windows CE) / WinDriver/lib/libwdapi1010.so (Linux) WDC API WinDriver/src/wdapi WDC wdc_lib.h wdc_defs.h ( WinDriver/includes ) wdc_lib.h wdc_defs.h WDC API () WDC API wdc_lib.h WinDriver PCI / PCMCIA / ISA DriverWizard WDC API wdc_lib.h API wdc_defs.h API WDC API [A.2] API [A.3] 1
8 WINDRIVER PCI WinDriver PCI API CardBus PCI CardBus PCMCIA API (WDC WD_xxx WinDriver API ) Windows 2000 / XP / Server 2003 / Server 2008 / Vista / 7 A.1.1 WD_DriverName() WinDriver : windrvr6 DriverWizard WinDriver WinDriver (WD_Open() / WDC_DriverOpen() / WDC_xxxDeviceOpen() ) 1 DriverWizard WinDriver (windrvr6) Windows Linux WinDriver 15.2 WinDriver (windrvr6.sys/.o/.ko) WD_DriverName() WD_DriverName() WD_DRIVER_NAME_CHANGE ( : Visual Studio gcc -DWD_DRIVER_NAME_CHANGE) DriverWizard Windows Linux WinDriver makefile const char* DLLCALLCONV WD_DriverName(const char* sname); sname const char* sname WinDriver : 2
9 A API windrvr6.sys windrvr6.o windrvr6 ( : 2 ) NULL WinDriver 15.2 WinDriver Windows Linux Windows CE WD_DriverName() WinDriver (windrvr6) A.2 WDC API WinDriver/include/wdc_lib.h WDC API A.2.1 A WDC_DEVICE_HANDLE WDC [A.3.3] typedef void * WDC_DEVICE_HANDLE; A WDC_DRV_OPEN_OPTIONS typedef DWORD WDC_DRV_OPEN_OPTIONS; WDC (WDC_DriverOpen() [A.2.2] ) # WDC_DRV_OPEN_CHECK_VER WDC_DRV_OPEN_REG_LIC WinDriver WinDriver WinDriver WDC_DriverOpen() [A.2.2] WDC # WDC_DRV_OPEN_BASIC WinDriver WDC WDC_Driveropen() [A.2.2] 3
10 WINDRIVER PCI : (0) (<=> ) WDC WDC_DRV_OPEN_KP WDC_DRV_OPEN_ALL WDC_DRV_OPEN_DEFAULT Kernel PlugIn WDC_DriverOpen() [A.2.2] Kernel PlugIn WDC WDC_DRV_OPEN_BASIC WDC (WDC_DRV_OPEN_CHECK_VER WDC_DRV_OPEN_REG_REG_LIC) WinDriver WDC_DriverOpen() [A.2.2] WDC_DRV_OPEN_BASIC WDC : WDC_DRV_OPEN_ALL Kernel PlugIn : WDC_DRV_OPEN_KP A WDC_DIRECTION / WDC_READ WDC_WRITE WDC_READ_WRITE ( / ) WinDriver DriverWizard A WDC_ADDR_MODE I/O / / I/O / ( ) / WDC_MODE_8 8 (1 ) WDC_MODE_16 16 (2 ) WDC_MODE_32 32 (4 ) WDC_MODE_64 64 (8 ) 4
11 A API A WDC_ADDR_RW_OPTIONS I/O / / ( ) WDC_ADDR_RW_DEFAULT : (0) (<=> / ) / WDC_ReadAddr8/16/32/64() [A.2.20] WDC_WriteAddr8/16/32/64() [A.2.21] WDC_ADDR_RW_NO_AUTOINC / ( ( ) ) I/O / A WDC_ADDR_SIZE typedef DWORD WDC_ADDR_SIZE; I/O / # WDC_SIZE_8 8 (1 ) WDC_SIZE_16 16 (2 ) WDC_SIZE_32 32 (4 ) WDC_SIZE_64 64 (8 ) A WDC_SLEEP_OPTIONS typedef DWORD WDC_SLEEP_OPTIONS; WDC_Sleep() [A.2.55] # WDC_SLEEP_BUSY WDC_SLEEP_NON_BUSY CPU ( ) CPU ( ) : 17,000 A WDC_DBG_OPTIONS typedef DWORD WDC_DBG_OPTIONS; 5
12 WINDRIVER PCI WDC_SetDebugOptions() [A.2.49] WDC WDC # WDC_DBG_OUT_DBM WDC WDC_DBG_OUT_FILE WDC WDC_SetDebugOptions() [A.2.49] sdbgfile stderr Kernel PlugIn ( : WDC ) # WDC_DBG_LEVEL_ERR WDC_DBG_LEVEL_TRACE WDC_DBG_NONE WDC WDC WDC WDC WDC_SetDebugOptions() [A.2.49] Kernel PlugIn # WDC_DBG_DEFAULT WDC_DBG_DBM_ERR WDC_DBG_DBM_TRACE WDC_DBG_FULL WDC_DBG_OUT_DBM WDC_DBG_LEVEL_TRACE : WDC WDC_DBG_OUT_DBM WDC_DBG_LEVEL_ERR : WDC WDC_DBG_OUT_DBM WDC_DBG_LEVEL_TRACE : WDC WDC : WDC_DBG_OUT_DBM WDC_DBG_OUT_FILE WDC_DBG_LEVEL_TRACE : (: stderr) WDC WDC Kernel PlugIn WDC_DBG_OUT_DBM WDC_DBG_LEVEL_TRACE : WDC 6
13 A API # WDC_DBG_FILE_ERR WDC_DBG_FILE_TRACE WDC_DBG_DBM_FILE_ERR WDC_DBG_DBM_FILE_TRACE WDC_DBG_OUT_FILE WDC_DBG_LEVEL_ERR : WDC ( : stderr) WDC_DBG_OUT_FILE WDC_DBG_LEVEL_TRACE : WDC (: stderr) WDC_DBG_OUT_DBM WDC_DBG_OUT_FILE WDC_DBG_LEVEL_ERR : WDC (: stderr) WDC_DBG_OUT_DBM WDC_DBG_OUT_FILE WDC_DBG_LEVEL_TRACE : WDC (: stderr) A WDC_SLOT_U WDC PCI / PCMCIA pcislot WD_PCI_SLOT PCI [A.4.8] pcmciaslot WD_PCMCIA_SLOT PCMCIA [A.4.9] A WDC_PCI_SCAN_RESULT PCI (WDC_PciScanDevices() [A.2.4] ) dwnumdevices DWORD ( ID) PCI deviceid deviceslot WD_PCI_ID[WD_PCI_CARDS] WD_PCI_SLOT[WD_PCI_CARDS] PCI ID [A.4.6] PCI [A.4.8] A WDC_PCMCIA_SCAN_RESULT PCMCIA (WDC_PcmciaScanDevices() [A.2.6] ) dwnumdevices DWORD ( ID) PCMCIA 7
14 WINDRIVER PCI deviceid deviceslot WD_PCMCIA_ID[WD_PCMCIA_CARDS] WD_PCMCIA_SLOT[WD_PCMCIA_CARDS] PCIMCIA ID [A.4.7] PCMCIA [A.4.9] A.2.2 WDC_DriverOpen() WinDriver WDC WDC API DWORD DLLCALLCONV WDC_DriverOpen( WDC_DRV_OPEN_OPTIONS openoptions, const CHAR *slicense); openoptions WDC_DRV_OPEN_OPTIONS slicense const CHAR* openoptions [A.2.1.2] slicense WinDriver openoptions WDC_DRV_OPEN_REG_LIC [A.2.1.2] NULL WinDriver WinDriver NULL WinDriver WinDriver WD_STATUS_SUCCESS (0) [A.8] 8
15 A API A.2.3 WDC_DriverClose() ( WDC_DriverOpen() [A.2.2] ) WDC WinDriver WDC WDC_DriverOpen() WDC WDC_DriverClose() DWORD DLLCALLCONV WDC_DriverClose(void); WD_STATUS_SUCCESS (0) [A.8] A.2.4 WDC_PciScanDevices() ID PCI WDC_PciScanDevicesByTopology() PCI DWORD DLLCALLCONV WDC_PciScanDevices( DWORD dwvendorid, DWORD dwdeviceid, WDC_PCI_SCAN_RESULT *ppciscanresult); dwvendorid DWORD dwdeviceid DWORD ppciscanresult WDC_PCI_SCAN_RESULT* dwvendorid dwdeviceid ID (16 ) (0) ID ID (16 ) (0) ID 9
16 WINDRIVER PCI ppciscanresult PCI [A ] WD_STATUS_SUCCESS (0) [A.8] ID (0) PCI A.2.5 WDC_PciScanDevicesByTopology() ID PCI WDC_PciScanDevicesByTopology() WDC_PciScanDevices() PCI WDC_PciScanDevices() WDC_PciScanDevicesByTopology() DWORD DLLCALLCONV WDC_PciScanDevicesByTopology( DWORD dwvendorid, DWORD dwdeviceid, WDC_PCI_SCAN_RESULT *ppciscanresult); dwvendorid DWORD dwdeviceid DWORD ppciscanresult WDC_PCI_SCAN_RESULT* dwvendorid dwdeviceid ID (16 ) (0) ID ID (16 ) (0) ID 10
17 A API ppciscanresult PCI [A ] WD_STATUS_SUCCESS (0) [A.8] ID (0) PCI A.2.6 WDC_PcmciaScanDevices() ID PCMCIA DWORD DLLCALLCONV WDC_PcmciaScanDevices( WORD wmanufacturerid, WORD wdeviceid, WDC_PCMCIA_SCAN_RESULT *ppcmciascanresult); wmanufacturerid WORD wdeviceid WORD ppcmciascanresult WDC_PCMCIA_SCAN_RESULT* wmanufacturerid wdeviceid ppcmciascanresult ID (16 ) (0) ID ID (16 ) (0) ID PCMCIA [A ] 11
18 WINDRIVER PCI WD_STATUS_SUCCESS (0) [A.8] ID (0) PCI A.2.7 WDC_PciGetDeviceInfo() PCI ( I/O ) DWORD DLLCALLCONV WDC_PciGetDeviceInfo( WD_PCI_CARD_INFO *pdeviceinfo); pdeviceinfo WD_PCI_CARD_INFO* / pcislot WD_PCI_SLOT Card WD_CARD pdeviceinfo PCI [A.4.11] WD_STATUS_SUCCESS (0) [A.8] Plug-and-Play PCI : Windows WinDriver INF (WinDriver INF WinDriver 14.4 ) (IRQ) Plug-and-Play IRQ IRQ 12
19 A API A.2.8 WDC_PcmciaGetDeviceInfo() PCMCIA ( I/O ) DWORD DLLCALLCONV WDC_PcmciaGetDeviceInfo( WD_PCMCIA_CARD_INFO *pdeviceinfo); pdeviceinfo WD_PCMCIA_CARD_INFO* / pcmciaslot WD_PCMCIA_SLOT Card WD_CARD cversion CHAR cmanufacturer CHAR [WD_PCMCIA_ MANUFACTURER_LEN] cproductname CHAR [WD_PCMCIA_ PRODUCTNAME_LEN] wmanufacturerid WORD wcardid WORD wfuncid WORD pdeviceinfo PCMCIA [A.4.12] WD_STATUS_SUCCESS (0) [A.8] Plug-and-Play PCMCIA : Windows WinDriver INF (WinDriver INF WinDriver 14.4 ) (IRQ) Plug-and-Play IRQ IRQ 13
20 WINDRIVER PCI A.2.9 WDC_PciDeviceOpen() WDC PCI WinDriver I/O (IRQ) Kernel PlugIn DWORD DLLCALLCONV WDC_PciDeviceOpen( WDC_DEVICE_HANDLE *phdev, const WD_PCI_CARD_INFO *pdeviceinfo, const PVOID pdevctx, PVOID reserved, const CHAR *pckpdrivername, PVOID pkpopendata); phdev WDC_DEVICE_HANDLE* pdeviceinfo const WD_PCI_CARD_INFO* pcislot WD_PCI_SLOT Card WD_CARD dwitems DWORD Item WD_ITEMS[WD_CARD_ITEMS] item DWORD fnotsharable DWORD I union Mem struct dwphysicaladdr DWORD dwbytes DWORD dwtransaddr DWORD N/A dwuserdirectaddr DWORD N/A 14
21 A API dwcpuphysicaladdr DWORD N/A dwbar DWORD IO struct dwaddr DWORD dwbytes DWORD dwbar DWORD Int struct dwinterrupt DWORD dwoptions DWORD hinterrupt DWORD N/A Bus struct dwbustype WD_BUS_TYPE dwbusnum DWORD dwslotfunc DWORD Val struct N/A pdevctx const PVOID reserved PVOID pckpdrivername const CHAR* pkpopendata PVOID phdev pdeviceinfo pdevctx Reserved pckpdrivername pkpopendata WDC PCI [A.4.11] Reserved for future use () Kernel PlugIn Kernel PlugIn NULL WD_KernelPlugInOpen() Kernel PlugIn Kernel PlugIn NULL 15
22 WINDRIVER PCI WD_STATUS_SUCCESS (0) [A.8] WDC_PciGetDeviceInfo() [A.2.7] (pdeviceinfo) WDC_PciDeviceOpen() dwoptions (pdeviceinfo- >Card.Item[i].dwOptions) WD_ITEM_DO_NOT_MAP_KERNEL WD_ITEM_DO_NOT_MAP_KERNEL : ( WDC_DEVICE [A.3.3] paddrdesc[i].kptaddr ) WinDriver API Kernel PlugIn A.2.10 WDC_PcmciaDeviceOpen() WDC PCMCIA WinDriver I/O (IRQ) Kernel PlugIn DWORD DLLCALLCONV WDC_PcmciaDeviceOpen( WDC_DEVICE_HANDLE *phdev, const WD_PCMCIA_CARD_INFO *pdeviceinfo, const PVOID pdevctx, PVOID reserved, const CHAR *pckpdrivername, PVOID pkpopendata); 16
23 A API phdev WDC_DEVICE_HANDLE* pdeviceinfo const WD_PCMCIA_CARD_INFO* pcmciaslot WD_PCMCIA_SLOT Card WD_CARD dwitems DWORD Item WD_ITEMS[WD_CARD_ITEMS] item DWORD fnotsharable DWORD I union Mem struct dwphysicaladdr DWORD dwbytes DWORD dwtransaddr DWORD N/A dwuserdirectaddr DWORD N/A dwcpuphysicaladdr DWORD N/A dwbar DWORD IO struct dwaddr DWORD dwbytes DWORD dwbar DWORD Int struct N/A dwinterrupt DWORD dwoptions DWORD hinterrupt DWORD N/A Bus struct dwbustype WD_BUS_TYPE dwbusnum DWORD dwslotfunc DWORD Val struct N/A cversion CHAR cmanufacturer CHAR [WD_PCMCIA_ MANUFACTURER_LEN] cproductname CHAR [WD_PCMCIA_ 17
24 WINDRIVER PCI PRODUCTNAME_LEN] wmanufacturerid WORD wcardid WORD wfuncid WORD pdevctx const PVOID reserved PVOID pckpdrivername const CHAR* pkpopendata PVOID phdev pdeviceinfo pdevctx reserved pckpdrivername pkpopendata WDC PCMCIA [A.4.12] Reserved for future use () Kernel PlugIn Kernel PlugIn NULL WD_KernelPlugInOpen() Kernel PlugIn Kernel PlugIn NULL WD_STATUS_SUCCESS (0) [A.8] 18 WDC_PcmciaGetDeviceInfo() [A.2.8] (pdeviceinfo) WDC_PciDeviceOpen() dwoptions (pdeviceinfo->card.item[i].dwoptions) WD_ITEM_DO_NOT_MAP_KERNEL WD_ITEM_DO_NOT_MAP_KERNEL : ( WDC_DEVICE [A.3.3] paddrdesc[i].kptaddr ) WinDriver
25 A API API Kernel PlugIn A.2.11 WDC_IsaDeviceOpen() WDC ISA WinDriver I/O (IRQ) Kernel PlugIn DWORD DLLCALLCONV WDC_IsaDeviceOpen( WDC_DEVICE_HANDLE *phdev, const WD_CARD *pdeviceinfo, const PVOID pdevctx, PVOID reserved, const CHAR *pckpdrivername, PVOID pkpopendata); phdev WDC_DEVICE_HANDLE* pdeviceinfo const WD_CARD* dwitems DWORD Item WD_ITEMS[WD_CARD_ITEMS] item DWORD fnotsharable DWORD dwoptions DWORD I union Mem struct dwphysicaladdr DWORD dwbytes DWORD 19
26 WINDRIVER PCI dwtransaddr DWORD N/A dwuserdirectaddr DWORD N/A dwcpuphysicaladdr DWORD N/A dwbar DWORD IO struct dwaddr DWORD dwbytes DWORD dwbar DWORD Int struct dwinterrupt DWORD dwoptions DWORD hinterrupt DWORD N/A Bus struct dwbustype WD_BUS_TYPE dwbusnum DWORD dwslotfunc DWORD Val struct N/A pdevctx const PVOID reserved PVOID N/A pckpdrivername const CHAR* pkpopendata PVOID phdev pdeviceinfo pdevctx reserved pckpdrivername pkpopendata WDC [A.4.10] Reserved for future use () Kernel PlugIn Kernel PlugIn NULL WD_KernelPlugInOpen() Kernel PlugIn Kernel PlugIn NULL 20
27 A API WD_STATUS_SUCCESS (0) [A.8] WD_ITEMS WD_ITEM_OPTIONS (pdeviceinfo- >Card.Item[i].dwOptions) : ( WDC_DEVICE [A.3.3] paddrdesc[i].kptaddr ) WinDriver API Kernel PlugIn A.2.12 WDC_PciDeviceClose() WDC PCI DWORD DLLCALLCONV WDC_PciDeviceClose(WDC_DEVICE_HANDLE hdev); hdev WDC_DEVICE_HANDLE hdev WDC_PciDeviceOpen() [A.2.9] WDC PCI WD_STATUS_SUCCESS (0) [A.8] 21
28 WINDRIVER PCI A.2.13 WDC_PcmciaDeviceClose() WDC PCMCIA DWORD DLLCALLCONV WDC_PcmciaDeviceClose(WDC_DEVICE_HANDLE hdev); hdev WDC_DEVICE_HANDLE hdev WDC_PcmciaDeviceOpen() [A.2.10] WDC PCMCIA WD_STATUS_SUCCESS (0) [A.8] A.2.14 WDC_IsaDeviceClose() WDC ISA DWORD DLLCALLCONV WDC_IsaDeviceClose(WDC_DEVICE_HANDLE hdev); hdev WDC_DEVICE_HANDLE 22
29 A API hdev WDC_IsaDeviceOpen() [A.2.11] WDC ISA WD_STATUS_SUCCESS (0) [A.8] A.2.15 WDC_CardCleanupSetup() bforcecleanup TRUE () DWORD WDC_CardCleanupSetup( WDC_DEVICE_HANDLE hdev, WD_TRANSFER *Cmd, DWORD dwcmds, BOOL bforcecleanup); hdev WDC_DEVICE_HANDLE Cmd WD_TRANSFER* dwcmds DWORD bforcecleanup BOOL hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC 23
30 WINDRIVER PCI Cmd dwcmds bforcecleanup [A.4.14] Cmd FALSE (Cmd) WDC_xxxDeviceClose() (PCI [A.2.12] / PCMCIA [A.2.13] / ISA [A.2.14]) TRUE 2 WD_xxxDeviceClose() WD_STATUS_SUCCESS (0) [A.8] A.2.16 WDC_KernelPlugInOpen() Kernel PlugIn DWORD DLLCALLCONV WDC_KernelPlugInOpen( WDC_DEVICE_HANDLE hdev, const CHAR *pckpdrivername, PVOID pkpopendata); HDev WDC_DEVICE_HANDLE / pckpdrivername const CHAR* pkpopendata PVOID hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC pckpdrivername pkpopendata Kernel PlugIn WD_KernelPlugInOpen() Kernel PlugIn 24
31 A API WD_STATUS_SUCCESS (0) [A.8] WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) Kernel PlugIn.NET Kernel PlugIn WinDriver Kernel PlugIn ( : phdev Kernel PlugIn pkpopendata ).NET Kernel PlugIn A.2.17 WDC_CallKerPlug() Kernel PlugIn ID Kernel PlugIn KP_Call() [A.5.4] ID Kernel PlugIn DWORD DLLCALLCONV WDC_CallKerPlug( WDC_DEVICE_HANDLE hdev, DWORD dwmsg, PVOID pdata, PDWORD pdwresult); hdev WDC_DEVICE_HANDLE dwmsg DWORD pdata PVOID / pdwresult pdwresult Hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC DwMsg pdata Kernel PlugIn (KP_Call() [A.5.4]) ID Kernel PlugIn 25
32 WINDRIVER PCI pdwresult Kernel PlugIn (KP_Call()) WD_STATUS_SUCCESS (0) [A.8] A.2.18 WDC_ReadMemXXX() WDC_ReadMem8/16/32/64() 1 (8 ) / 2 (16 ) / 4 (32 ) / 8 (64 ) ( / ) BYTE WDC_ReadMem8(addr, off); WORD WDC_ReadMem16(addr, off); UINT32 WDC_ReadMem32(addr, off); UINT64 WDC_ReadMem64(addr, off); : WDC_ReadMemXXX API addr DWORD off DWORD addr off (addr) 26
33 A API A.2.19 WDC_WriteMemXXX() WDC_WriteMem8/16/32/64() 1 (8 ) / 2 (16 ) / 4 (32 ) / 8 (64 ) ( / ) void WDC_WriteMem8(addr, off, val); void WDC_WriteMem16(addr, off, val); void WDC_WriteMem32(addr, off, val); void WDC_WriteMem64(addr, off, val); : WDC_WriteMemXXX API Addr DWORD Off DWORD Val BYTE / WORD / UINT32 / UINT64 addr off val (addr) A.2.20 WDC_ReadAddrXXX() WDC_ReadAddr8/16/32/64() 1 (8 ) / 2 (16 ) / 4 (32 ) / 8 (64 ) I/O DWORD DLLCALLCONV WDC_ReadAddr8(WDC_DEVICE_HANDLE hdev, DWORD dwaddrspace, KPTR dwoffset, BYTE *val); 27
34 WINDRIVER PCI DWORD DLLCALLCONV WDC_ReadAddr16(WDC_DEVICE_HANDLE hdev, DWORD dwaddrspace, KPTR dwoffset, WORD *val); DWORD DLLCALLCONV WDC_ReadAddr32(WDC_DEVICE_HANDLE hdev, DWORD dwaddrspace, KPTR dwoffset, UINT32 *val); DWORD DLLCALLCONV WDC_ReadAddr64(WDC_DEVICE_HANDLE hdev, DWORD dwaddrspace, KPTR dwoffset, UINT64 *val); hdev WDC_DEVICE_HANDLE dwaddrspace DWORD dwoffset KPTR val BYTE* / WORD* / UINT32* / UINT64* hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC dwaddrspace dwoffset val I/O (dwaddrspace) WD_STATUS_SUCCESS (0) [A.8] A.2.21 WDC_WriteAddrXXX() WDC_WriteAddr8/16/32/64() 1 (8 ) / 2 (16 ) / 4 (32 ) / 8 (64 ) I/O DWORD DLLCALLCONV WDC_WriteAddr8(WDC_DEVICE_HANDLE hdev, DWORD dwaddrspace, KPTR dwoffset, BYTE val) 28
35 A API DWORD DLLCALLCONV WDC_WriteAddr16(WDC_DEVICE_HANDLE hdev, DWORD dwaddrspace, KPTR dwoffset, WORD val); DWORD DLLCALLCONV WDC_WriteAddr32(WDC_DEVICE_HANDLE hdev, DWORD dwaddrspace, KPTR dwoffset, UINT32 val); DWORD DLLCALLCONV WDC_WriteAddr64(WDC_DEVICE_HANDLE hdev, DWORD dwaddrspace, KPTR dwoffset, UINT64 val); hdev WDC_DEVICE_HANDLE dwaddrspace DWORD dwoffset KPTR val BYTE / WORD / UINT32 / UINT64 hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC dwaddrspace dwoffset Val I/O (dwaddrspace) WD_STATUS_SUCCESS (0) [A.8] A.2.22 WDC_ReadAddrBlock() DWORD DLLCALLCONV WDC_ReadAddrBlock( WDC_DEVICE_HANDLE hdev, DWORD dwaddrspace, KPTR dwoffset, DWORD dwbytes, 29
36 WINDRIVER PCI PVOID pdata, WDC_ADDR_MODE mode, WDC_ADDR_RW_OPTIONS options); hdev WDC_DEVICE_HANDLE dwaddrspace DWORD dwoffset KPTR dwbytes DWORD pdata PVOID mode WDC_ADDR_MODE options WDC_ADDR_RW_OPTIONS hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC dwaddrspace dwoffset dwbytes pdata mode options I/O (dwaddrspace) (WDC_ADDR_MODE [A.2.1.4] ) (WDC_ADDR_RW_OPTIONS [A.2.1.5] ) WDC_RW_BLOCK WD_STATUS_SUCCESS (0) [A.8] A.2.23 WDC_WriteAddrBlock() DWORD DLLCALLCONV WDC_WriteAddrBlock( 30
37 A API WDC_DEVICE_HANDLE hdev, DWORD dwaddrspace, KPTR dwoffset, DWORD dwbytes, PVOID pdata, WDC_ADDR_MODE mode, WDC_ADDR_RW_OPTIONS options); hdev WDC_DEVICE_HANDLE dwaddrspace DWORD dwoffset KPTR dwbytes DWORD pdata PVOID mode WDC_ADDR_MODE options WDC_ADDR_RW_OPTIONS hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC dwaddrspace dwoffset dwbytes pdata mode options I/O (dwaddrspace) (WDC_ADDR_MODE [A.2.1.4] ) (WDC_ADDR_RW_OPTIONS [A.2.1.5] ) WDC_RW_BLOCK WD_STATUS_SUCCESS (0) [A.8] 31
38 WINDRIVER PCI A.2.24 WDC_MultiTransfer() / I/O / DWORD DLLCALLCONV WDC_MultiTransfer( WD_TRANSFER *ptrans, DWORD dwnumtrans); ptrans WD_TRANSFER* dwnumtrans DWORD ptrans dwnumtrans [A.4.14] ptrans WD_STATUS_SUCCESS (0) [A.8] / WD_MultiTransfer() WinDriver (I/O ) / / ( I/O ) [A.3.3] A.2.25 WDC_AddrSpaceIsActive() I/O ( (0) ) BOOL DLLCALLCONV WDC_AddrSpaceIsActive( WDC_DEVICE_HANDLE hdev, 32
39 A API DWORD dwaddrspace); hdev WDC_DEVICE_HANDLE dwaddrspace DWORD hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC dwaddrspace I/O TRUE FALSE A.2.26 WDC_PciReadCfgBySlot() PCI PCI Express PCI Windows Linux PCI Express PCI PCI Express DWORD DLLCALLCONV WDC_PciReadCfgBySlot( WD_PCI_SLOT *ppcislot, DWORD dwoffset, PVOID pdata, DWORD dwbytes); ppcislot WD_PCI_SLOT* dwoffset DWORD pdata PVOID dwbytes DWORD 33
40 WINDRIVER PCI ppcislot dwoffset pdata dwbytes WDC_PciScanDevices() [A.2.4] [A.4.8] PCI PCI WD_STATUS_SUCCESS (0) [A.8] A.2.27 WDC_PciWriteCfgBySlot() PCI PCI Express PCI Windows Linux PCI Express PCI PCI Express DWORD DLLCALLCONV WDC_PciWriteCfgBySlot( WD_PCI_SLOT *ppcislot, DWORD dwoffset, PVOID pdata, DWORD dwbytes); ppcislot WD_PCI_SLOT* dwoffset DWORD pdata PVOID dwbytes DWORD ppcislot WDC_PciScanDevices() [A.2.4] 34
41 A API [A.4.8] dwoffset pdata dwbytes PCI WD_STATUS_SUCCESS (0) [A.8] A.2.28 WDC_PciReadCfg() PCI PCI Express Windows Linux PCI Express PCI PCI Express DWORD DLLCALLCONV WDC_PciReadCfg( WDC_DEVICE_HANDLE hdev, DWORD dwoffset, PVOID pdata, DWORD dwbytes); hdev WDC_DEVICE_HANDLE dwoffset DWORD pdata PVOID dwbytes DWORD hdev dwoffset pdata WDC_PciDeviceOpen() [A.2.9] WDC PCI PCI PCI 35
42 WINDRIVER PCI dwbytes WD_STATUS_SUCCESS (0) [A.8] A.2.29 WDC_PciWriteCfg() PCI PCI Express Windows Linux PCI Express PCI PCI Express DWORD DLLCALLCONV WDC_PciWriteCfg( WDC_DEVICE_HANDLE hdev, DWORD dwoffset, PVOID pdata, DWORD dwbytes); hdev WDC_DEVICE_HANDLE dwoffset DWORD pdata PVOID dwbytes DWORD hdev dwoffset pdata dwbytes WDC_PciDeviceOpen() [A.2.9] WDC PCI PCI WD_STATUS_SUCCESS (0) [A.8] 36
43 A API A.2.30 WDC_PciReadCfgBySlotXXX() WDC_PciReadCfgBySlot8/16/32/64() 1 (8 ) / 2 (16 ) / 4 (32 ) / 8 (64 ) PCI PCI Express PCI Windows Linux PCI Express PCI PCI Express DWORD DLLCALLCONV WDC_PciReadCfgRegBySlot8( WD_PCI_SLOT *ppcislot, DWORD dwoffset, BYTE *val); DWORD DLLCALLCONV WDC_PciReadCfgReg1BySlot6( WD_PCI_SLOT *ppcislot, DWORD dwoffset, WORD *val); DWORD DLLCALLCONV WDC_PciReadCfgReg32BySlot( WD_PCI_SLOT *ppcislot, DWORD dwoffset, UINT32 *val); DWORD DLLCALLCONV WDC_PciReadCfgReg64BySlot( WD_PCI_SLOT *ppcislot, DWORD dwoffset, UINT64 *val); ppcislot WD_PCI_SLOT* dwoffset DWORD val BYTE* / WORD* / UINT32* / UINT64* ppcislot dwoffset val WDC_PciScanDevices() [A.2.4] [A.4.8] PCI PCI WD_STATUS_SUCCESS (0) [A.8] 37
44 WINDRIVER PCI A.2.31 WDC_PciWriteCfgBySlotXXX() WDC_PciWriteCfgBySlot8/16/32/64() 1 (8 ) / 2 (16 ) / 4 (32 ) / 8 (64 ) PCI PCI Express PCI Windows Linux PCI Express PCI PCI Express DWORD DLLCALLCONV WDC_PciWriteCfgRegBySlot8( WD_PCI_SLOT *ppcislot, DWORD dwoffset, BYTE val); DWORD DLLCALLCONV WDC_PciWriteCfgRegBySlot16( WD_PCI_SLOT *ppcislot, DWORD dwoffset, WORD val); DWORD DLLCALLCONV WDC_PciWriteCfgRegBySlot32( WD_PCI_SLOT *ppcislot, DWORD dwoffset, UINT32 val); DWORD DLLCALLCONV WDC_PciWriteCfgRegBySlot64( WD_PCI_SLOT *ppcislot, DWORD dwoffset, UINT64 val); ppcislot WD_PCI_SLOT* dwoffset DWORD val BYTE / WORD / UINT32 / UINT64 ppcislot dwoffset val WDC_PciScanDevices() [A.2.4] [A.4.8] PCI PCI WD_STATUS_SUCCESS (0) [A.8] 38
45 A API A.2.32 WDC_PciReadCfgXXX() WDC_PciReadCfg8/16/32/64() 1 (8 ) / 2 (16 ) / 4 (32 ) / 8 (64 ) PCI PCI Express Windows Linux PCI Express PCI PCI Express DWORD DLLCALLCONV WDC_PciReadCfgReg8(WDC_DEVICE_HANDLE hdev, DWORD dwoffset, BYTE *val); DWORD DLLCALLCONV WDC_PciReadCfgReg16(WDC_DEVICE_HANDLE hdev, DWORD dwoffset, WORD *val); DWORD DLLCALLCONV WDC_PciReadCfgReg32(WDC_DEVICE_HANDLE hdev, DWORD dwoffset, UINT32 *val); DWORD DLLCALLCONV WDC_PciReadCfgReg64(WDC_DEVICE_HANDLE hdev, DWORD dwoffset, UINT64 *val); hdev WDC_DEVICE_HANDLE dwoffset DWORD val BYTE* / WORD* / UINT32* / UINT64* hdev dwoffset val WDC_PciDeviceOpen() [A.2.9] WDC PCI PCI PCI WD_STATUS_SUCCESS (0) [A.8] 39
46 WINDRIVER PCI A.2.33 WDC_PciWriteCfgXXX() WDC_PciWriteCfg8/16/32/64() 1 (8 ) / 2 (16 ) / 4 (32 ) / 8 (64 ) PCI PCI Express Windows Linux PCI Express PCI PCI Express DWORD DLLCALLCONV WDC_PciWriteCfgReg8(WDC_DEVICE_HANDLE hdev, DWORD dwoffset, BYTE val); DWORD DLLCALLCONV WDC_PciWriteCfgReg16(WDC_DEVICE_HANDLE hdev, DWORD dwoffset, WORD val); DWORD DLLCALLCONV WDC_PciWriteCfgReg32(WDC_DEVICE_HANDLE hdev, DWORD dwoffset, UINT32 val); DWORD DLLCALLCONV WDC_PciWriteCfgReg64(WDC_DEVICE_HANDLE hdev, DWORD dwoffset, UINT64 val); hdev WDC_DEVICE_HANDLE dwoffset DWORD val BYTE / WORD / UINT32 / UINT64 hdev dwoffset val WDC_PciDeviceOpen() [A.2.9] WDC PCI PCI PCI WD_STATUS_SUCCESS (0) [A.8] 40
47 A API A.2.34 WDC_PcmciaReadAttribSpace() PCMCIA DWORD DLLCALLCONV WDC_PcmciaReadAttribSpace( WDC_DEVICE_HANDLE hdev, DWORD dwoffset, PVOID pdata, DWORD dwbytes); hdev WDC_DEVICE_HANDLE dwoffset DWORD pdata PVOID dwbytes DWORD hdev dwoffset pdata dwbytes WDC_PcmciaDeviceOpen() [A.2.10] WDC PCMCIA PCMCIA PCMCIA WD_STATUS_SUCCESS (0) [A.8] A.2.35 WDC_PcmciaWriteAttribSpace() PCMCIA DWORD DLLCALLCONV WDC_PcmciaWriteAttribSpace( 41
48 WINDRIVER PCI WDC_DEVICE_HANDLE hdev, DWORD dwoffset, PVOID pdata, DWORD dwbytes); hdev WDC_DEVICE_HANDLE dwoffset DWORD pdata PVOID dwbytes DWORD hdev dwoffset pdata dwbytes WDC_PcmciaDeviceOpen() [A.2.10] WDC PCMCIA PCMCIA WD_STATUS_SUCCESS (0) [A.8] A.2.36 WDC_PcmciaSetWindow() PCMCIA DWORD DLLCALLCONV WDC_PcmciaSetWindow( WDC_DEVICE_HANDLE hdev, WD_PCMCIA_ACC_SPEED speed, WD_PCMCIA_ACC_WIDTH width, DWORD dwcardbase); hdev WDC_DEVICE_HANDLE 42
49 A API speed WD_PCMCIA_ACC_SPEED width WD_PCMCIA_ACC_WIDTH dwcardbase DWORD hdev speed width dwcardbase WDC_PcmciaDeviceOpen() [A.2.10] WDC PCMCIA CMCIA (WD_PCMCIA_ACC_SPEED [A.4.3] ) PCMCIA (WD_PCMCIA_ACC_WIDTH [A.4.4] ) PCMCIA WD_STATUS_SUCCESS (0) [A.8] A.2.37 WDC_PcmciaSetVpp() PCIMCIA (Vpp) DWORD DLLCALLCONV WDC_PcmciaSetVpp( WDC_DEVICE_HANDLE hdev, WD_PCMCIA_VPP vpp); hdev WDC_DEVICE_HANDLE vpp WD_PCMCIA_VPP hdev vpp WDC_PcmciaDeviceOpen() [A.2.10] WDC PCMCIA PCIMCIA (Vpp) 43
50 WINDRIVER PCI (WD_PCMCIA_VPP [A.4.5] ) WD_STATUS_SUCCESS (0) [A.8] A.2.38 WDC_DMAContigBufLock() DMA DWORD DLLCALLCONV WDC_DMAContigBufLock( WDC_DEVICE_HANDLE hdev, PVOID *ppbuf, DWORD dwoptions, DWORD dwdmabufsize, WD_DMA **ppdma); hdev WDC_DEVICE_HANDLE ppbuf PVOID* dwoptions DWORD dwdmabufsize DWORD ppdma WD_DMA** hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC ppbuf dwoptions DMA (windrvr.h ) DMA_FROM_DEVICE: DMA DMA_TO_DEVICE: DMA DMA_TO_FROM_DEVICE: ( : 44
51 A API DMA_FROM_DEVICE / : DMA_TO_DEVICE) DMA DMA_ALLOW_CACHE: DMA_KBUF_BELOW_16M: 16 MB DMA DMA_ALLOW_64BIT_ADDRESS: ( ) 64 DMA Windows Linux dwdmabufsize ppdma DMA DMA [A.4.13] DMA (*ppdma) WDC_DMABufUnlock() [A.2.40] WD_STATUS_SUCCESS (0) [A.8] DMA_KERNEL_BUFFER_ALLOC Windows x86 x86_64 DMA_ALLOW_CACHE DMA (dwoptions) A.2.39 WDC_DMASGBufLock() DMA DMA Windows 2000 / XP / Server 2003 / Server 2008 / Vista / 7 DWORD DLLCALLCONV WDC_DMASGBufLock( WDC_DEVICE_HANDLE hdev, PVOID pbuf, DWORD dwoptions, DWORD dwdmabufsize, WD_DMA **ppdma); 45
52 WINDRIVER PCI hdev WDC_DEVICE_HANDLE pbuf PVOID dwoptions DWORD dwdmabufsize DWORD ppdma WD_DMA** hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC pbuf dwoptions dwdmabufsize ppdma DMA (windrvr.h ) DMA_FROM_DEVICE: DMA DMA_TO_DEVICE: DMA DMA_TO_FROM_DEVICE: ( : DMA_FROM_DEVICE / : DMA_TO_DEVICE) DMA DMA_ALLOW_CACHE: DMA_ALLOW_64BIT_ADDRESS: ( ) 64 DMA Windows Linux DMA DMA [A.4.13] DMA (*ppdma) WDC_DMABufUnlock() [A.2.40] WD_STATUS_SUCCESS (0) [A.8] (> 1MB) WinDriver WD_DMALock() / DMA DMA_LARGE_BUFFER WDC_DMASGBufLock() 46
53 A API Windows x86 x86_64 DMA_ALLOW_CACHE DMA (dwoptions) A.2.40 WDC_DMABufUnlock() WDC_DMAContigBufLock() [A.2.38] WDC_DMASGBufLock() [A.2.39] DMA DWORD DLLCALLCONV WDC_DMABufUnlock(WD_DMA *pdma); pdma WD_DMA* pdma WDC_DMAContigBufLock() [A.2.38] ( DMA ) WDC_DMASGBufLock() [A.2.39] ( / DMA ) DMA [A.4.13] *ppdma WD_STATUS_SUCCESS (0) [A.8] A.2.41 WDC_DMASyncCpu() CPU DMA CPU : DMA ( ) DWORD DLLCALLCONV WDC_DMASyncCpu(WD_DMA *pdma); 47
54 WINDRIVER PCI pdma WD_DMA* pdma WDC_DMAContigBufLock() [A.2.38] ( DMA ) WDC_DMASGBufLock() [A.2.39] ( / DMA ) DMA [A.4.13] *ppdma WD_STATUS_SUCCESS (0) [A.8] DMA CPU (CPU) WDC_DMASyncCpu() CPU CPU DMA WDC_DMASyncCpu() CPU CPU ( ) A.2.42 WDC_DMASyncIo() I/O CPU DMA I/O : DMA ( ) DWORD DLLCALLCONV WDC_DMASyncIo(WD_DMA *pdma); pdma WD_DMA* 48
55 A API pdma WDC_DMAContigBufLock() [A.2.38] ( DMA ) WDC_DMASGBufLock() [A.2.39] ( / DMA ) DMA [A.4.13] *ppdma WD_STATUS_SUCCESS (0) [A.8] DMA DMA I/O CPU CPU CPU I/O CPU DMA WDC_DMASyncIo() A.2.43 WDC_SharedBufferAlloc() ( shared buffer ) : Kernel PlugIn DWORD DLLCALLCONV WDC_SharedBufferAlloc( PVOID *ppuseraddr, KPTR *ppkerneladdr, DWORD dwbufsize, DWORD dwoptions, HANDLE *phbuf); *ppuseraddr PVOID* *ppkerneladdr KPTR* 49
56 WINDRIVER PCI dwbufsize DWORD dwoptions DWORD phbuf HANDLE* ppuseraddr ppkerneladdr dwbufsize dwoptions phbuf 0 (*phbuf) WDC_SharedBufferFree() WD_STATUS_SUCCESS (0) [A.8] A.2.44 WDC_SharedBufferFree() WDC_SharedBufferAlloc() #define WDC_SharedBufferFree(hBuf) hbuf HANDLE hbuf WDC_SharedBufferAlloc() 50
57 A API *phbuf WD_STATUS_SUCCESS (0) [A.8] A.2.45 WDC_IntEnable() Linux Windows Vista MSI-X (Extended Message-Signaled Interrupts) MSI (Message-Signaled Interrupts) ( Windows Vista INF ) PCI MSI-X MSI OS MSI / MSI-X ( ) (MSI / MSI-X PCI / PCMCIA / ISA) ( ) : Kernel PlugIn Kernel PlugIn (fusekp=true) Kernel PlugIn MSI / MSI-X KP_IntAtIrqlMSI() KP_IntAtDpcMSI() KP_IntAtIrql() KP_IntAtDpc() Kernel PlugIn IRQ () Kernel PlugIn KP_IntAtIrql() [A.5.8] ( ) KP_IntAtIrqlMSI() (MSI / MSI-X) WinDriver IRQ Kernel PlugIn Kernel PlugIn KP_IntAtDpc() KP_IntAtDpcMSI() WinDriver Kernel PlugIn ( PCI ) Kernel PlugIn Kernel PlugIn KP_IntAtIrql() [A.5.8] WDC_IntEnable() WinDriver Kernel PlugIn Kernel PlugIn (KP_IntAtDpc() [A.5.9] () KP_IntAtDpcMSI() (MSI / MSI-X)) (Kernel PlugIn KP_IntAtIrql() [A.5.8] KP_IntAtIrqlMSI() KP_IntAtDpc() KP_IntAtDpcMSI() ) 51
58 WINDRIVER PCI DWORD DLLCALLCONV WDC_IntEnable( WDC_DEVICE_HANDLE hdev, WD_TRANSFER *ptranscmds, DWORD dwnumcmds, DWORD dwoptions, INT_HANDLER funcinthandler, PVOID pdata, BOOL fusekp); hdev WDC_DEVICE_HANDLE ptranscmds WD_TRANSFER* dwnumcmds DWORD dwoptions DWORD funcinthandler typedef void (*INT_HANDLER)(PVOID pdata); pdata PVOID fusekp BOOL hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC ptranscmds ( NULL ) : Kernel PlugIn ( PCI ) WinDriver 9.2 A.4.14 WD_TRANSFER dwnumcmds dwoptions ptranscmds (0) 52
59 A API INTERRUPT_CMD_COPY: WinDriver (funcinthandler) funcinthandler pdata fusekp ( INT_HANDLER windrvr_int_thread.h ) (funcinthandler) TRUE IRQ () Kernel PlugIn KP_IntAtIrql() [A.5.8] KP_IntAtIrqlMSI() ( Kernel PlugIn WDC_xxxDeviceOpen() WDC ) (ptranscmds) KP_IntAtIrql() KP_IntAtIrqlMSI() IRQ WinDriver IRQL TRUE Kernel PlugIn KP_IntAtDpc() [A.5.9] KP_IntAtDpcMSI() (funcinthandler) FALSE ptranscmds IRQ WinDriver (funcinthandler) WD_STATUS_SUCCESS (0) [A.8] ( ) WDC_IntDisable() WDC_xxxDriverClose() (PCI: [A.2.12] PCMCIA: [A.2.13] ISA: [A.2.14]) WDC_IntDisable() WinDriver OS Windows Plug-and-Play (PCI / PCI-Express / PCMCIA) INF INF 53
60 WINDRIVER PCI WDC_IntEnable() WD_NO_DEVICE_OBJECT A.2.46 WDC_IntDisable() WDC_IntEnable() [A.2.43] DWORD DLLCALLCONV WDC_IntDisable(WDC_DEVICE_HANDLE hdev); hdev WDC_DEVICE_HANDLE hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC WD_STATUS_SUCCESS (0) [A.8] A.2.47 WDC_IntIsEnabled() BOOL DLLCALLCONV WDC_IntIsEnabled(WDC_DEVICE_HANDLE hdev); hdev WDC_DEVICE_HANDLE 54
61 A API hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC TRUE FALSE A.2.48 WDC_EventRegister() Plug-and-Play DWORD DLLCALLCONV WDC_EventRegister( WDC_DEVICE_HANDLE hdev, DWORD dwactions, EVENT_HANDLER funceventhandler, PVOID pdata, BOOL fusekp); hdev WDC_DEVICE_HANDLE dwactions DWORD funceventhandler typedef void (*EVENT_HANDLER)(WD_EVENT *pevent, void *pdata); pdata PVOID fusekp BOOL hdev dwactions WDC_PciDeviceOpen() [A.2.9] WDC_PcmciaDeviceOpen() [A.2.10] Plug-and- Play WDC Plug-and-Play : WD_INSERT - 55
62 WINDRIVER PCI WD_REMOVE - : WD_POWER_CHANGED_D0 WD_POWER_CHANGED_D1 - WD_POWER_CHANGED_D2 WD_POWER_CHANGED_D3 - WD_POWER_SYSTEM_WORKING - : WD_POWER_SYSTEM_SLEEPING1 - WD_POWER_SYSTEM_SLEEPING2 - CPU PCI / PCMCIA WD_POWER_SYSTEM_SLEEPING3 - CPU PCI / PCMCIA WD_POWER_SYSTEM_HIBERNATE - OS WD_POWER_SYSTEM_SHUTDOWN - funceventhandler pdata fusekp (dwactions ) ( EVENT_HANDLER windrvr_events.h ) (funceventhandler) TRUE (dwactions) Kernel PlugIn KP_Event() [A.5.5] ( Kernel PlugIn WDC_xxxDeviceOpen() WDC ) TRUE (funceventhandler) FALSE (dwactions) WD_STATUS_SUCCESS (0) [A.8] WDC_EventUnregister() [A.2.47] Plug-and-Play 56
63 A API A.2.49 WDC_EventUnregister() WDC_EventRegister() [A.2.46] Plug-and-Play DWORD DLLCALLCONV WDC_EventUnregister(WDC_DEVICE_HANDLE hdev); hdev WDC_DEVICE_HANDLE hdev WDC_PciDeviceOpen() [A.2.9] WDC_PcmciaDeviceOpen() [A.2.10] Plug-and- Play WDC WD_STATUS_SUCCESS (0) [A.8] A.2.50 WDC_EventIsRegistered() Plug-and-Play BOOL DLLCALLCONV WDC_EventIsRegistered(WDC_DEVICE_HANDLE hdev); hdev WDC_DEVICE_HANDLE 57
64 WINDRIVER PCI hdev WDC_PciDeviceOpen() [A.2.9] WDC_PcmciaDeviceOpen() [A.2.10] Plug-and- Play WDC Plug-and-Play TRUE FALSE A.2.51 WDC_SetDebugOptions() WDC WDC_DBG_OPTIONS [A.2.1.8] (WDC_DriverOpen() [A.2.2] ) WDC (WDC_DriverClose() [A.2.3] ) WDC (WDC_DEBG_DEFAULT [A.2.1.8] ) DWORD DLLCALLCONV WDC_SetDebugOptions( WDC_DBG_OPTIONS dbgoptions, const CHAR *sdbgfile); dbgoptions WDC_DBG_OPTIONS sdbgfile const CHAR* dbgoptions sdbgfile (WDC_DBG_OPTIONS [A.2.1.8] ) (0) (WDC_DBG_DEFAULT [A.2.1.8] ) WDC WDC_DBG_OUT_FILE ( 58
65 A API 1 ) (dbgoptions) (WDC_DBG_OPTIONS [A.2.1.8] ) WDC_DBG_OUT_FILE sdbgfile NULL WDC (stderr) WD_STATUS_SUCCESS (0) [A.8] A.2.52 WDC_Err() WDC (WDC_DBG_OPTIONS [A.2.1.8] WDC_SetDebugOptions() [A.2.49] ) void DLLCALLCONV WDC_Err( const CHAR *format...); format const CHAR* argument format argument 256 (CHAR) 59
66 WINDRIVER PCI A.2.53 WDC_Trace() WDC (WDC_DBG_OPTIONS [A.2.1.8] WDC_SetDebugOptions() [A.2.49] ) void DLLCALLCONV WDC_Trace( const CHAR *format...); format const CHAR* argument format argument 256 (CHAR) A.2.54 WDC_GetWDHandle() WD_xxx WinDriver PCI / PCMCIA / ISA API ( WinDriver PCI Low-Level API Reference ) WinDriver ( ) HANDLE DLLCALLCONV WDC_GetWDHandle(void); WinDriver INVALID_HANDLE_VALUE 60
67 A API WDC API WDC WinDriver WinDriver WDC WinDriver WD_xxx API (WD_Close() ) WDC_DriverClose() [A.2.3] WDC A.2.55 WDC_GetDevContext() PVOID DLLCALLCONV WDC_GetDevContext(WDC_DEVICE_HANDLE hdev); hdev WDC_DEVICE_HANDLE hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC NULL A.2.56 WDC_GetBusType() (WD_BUS_PCI WD_BUS_PCMCIA WD_BUS_ISA WD_BUS_UNKNOWN) WD_BUS_TYPE DLLCALLCONV WDC_GetBusType(WDC_DEVICE_HANDLE hdev); 61
68 WINDRIVER PCI hdev WDC_DEVICE_HANDLE hdev WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WDC [A.4.1] A.2.57 WDC_Sleep() ( ) CPU DWORD DLLCALLCONV WDC_Sleep( DWORD dwmicrosecs, WDC_SLEEP_OPTIONS options); dwmicrosecs DWORD options WDC_SLEEP_OPTIONS dwmicrosecs options [A.2.1.7] WD_STATUS_SUCCESS (0) [A.8] 62
69 A API A.2.58 WDC_Version() WDC WinDriver DWORD DLLCALLCONV WDC_Version( CHAR *sversion, DWORD *pdwversion); sversion CHAR* pdwversion DWORD* sversion pdwversion 128 () WinDriver WD_STATUS_SUCCESS (0) [A.8] A.3 WDC API WinDriver/include/wdc_defs.h WDC A.3.1 WDC_ID_U WDC ID (PCI PCMCIA ) PciId WD_PCI_ID PCI ID [A.4.6] pcmciaid WD_PCMCIA_ID PCMCIA ID [A.4.7] 63
70 WINDRIVER PCI A.3.2 WDC_ADDR_DESC PCI / PCMCIA / ISA I/O dwaddrspace DWORD fismemory dwitemindex BOOL DWORD TRUE - FALSE - I/O WDC [A.3.3] cardreg.card.item WDC_xxxDeviceOpen() WD_ITEMS dwbytes DWORD kptaddr KPTR WD_Transfer() WD_MultiTransfer() API I/O WDC API dwuserdirectmemaddr UPTR A.3.3 WDC_DEVICE PCI / PCMCIA / ISA WDC_xxxDeviceOpen() (PCI: [A.2.9] / PCMCIA: [A.2.10] / ISA: [A.2.11]) id slot WDC_ID_U WDC_SLOT_U ID (PCI PCMCIA ) [A.3.1] [A.2.1.9] WDC_SLOT_U dwnumaddrspaces DWORD paddrdesc cardreg kerplug Int WDC_ADDR_DESC* WD_CARD_REGISTER WD_KERNEL_PLUGIN WD_INTERRUPT I/O [A.3.2] WDC_xxxDeviceOpen() WD_CardRegister() WinDriver Kernel PlugIn [A.6.1] Kernel PlugIn () WDC_xxxDeviceOpen() WDC 64
71 A API hintthread Event hevent pctx DWORD WD_EVENT HANDLE PVOID WDC_xxxDeviceOpen() WDC WDC WinDriver API WDC API WinDriver Plug-and-Play EventRegister() WinDriver EventRegister() / EventUnregister() WDC API WDC_xxxDeviceOpen() ( ) A.3.4 PWDC_DEVICE WDC_DEVICE [A.3.3] typedef WDC_DEVICE *PWDC_DEVICE A.3.5 WDC_MEM_DIRECT_ADDR WDC_MEM_DIRECT_ADDR(pAddrDesc) paddrdesc WDC_ADDR_DESC* paddrdesc WDC [A.3.2] 65
72 WINDRIVER PCI (paddrdesc->dwuserdirectmemaddr) (paddrdesc->kptaddr) A.3.6 WDC_ADDR_IS_MEM I/O WDC_ADDR_IS_MEM(pAddrDesc) paddrdesc WDC_ADDR_DESC* paddrdesc WDC [A.3.2] paddrdesc->fismemory TRUE FALSE A.3.7 WDC_GET_ADDR_DESC WDC (WDC_ADDR_DESC [A.3.2]) WDC_GET_ADDR_DESC( pdev, dwaddrspace) 66
73 A API pdev PWDC_DEVICE dwaddrspace DWORD pdev dwaddrspace WDC [A.3.4] (pdev->paddrdesc[dwaddrspace]) (WDC_ADDR_DESC [A.3.2]) A.3.8 WDC_GET_ENABLED_INT_TYPE WDC dwenabledinttype WD_INTERRUPT WDC_IntEnable() WDC_GET_ENABLED_INT_TYPE(pDev) PDev PWDC_DEVICE pdev WDC [A.3.4] : INTERRUPT_MESSAGE_X: MSI-X (Extended Message-Signaled Interrupts) INTERRUPT_MESSAGE: MSI (Message-Signaled Interrupts) INTERRUPT_LEVEL_SENSITIVE: 67
74 WINDRIVER PCI INTERRUPT_LATCHED: 0 Windows API MSI MSI-X Windows OS WinDriver MSI MSI-X INTERRUPT_MESSAGE WDC_IntEnable() PCI 1 PCI WDC_INT_IS_MSI MSI MSI-X A.3.9 WDC_GET_INT_OPTIONS WDC WDC_GET_INT_OPTIONS(pDev) PDev PWDC_DEVICE pdev WDC [A.3.4] : INTERRUPT_MESSAGE_X: MSI-X (Extended Message-Signaled Interrupts) INTERRUPT_MESSAGE: MSI (Message-Signaled Interrupts) INTERRUPT_LEVEL_SENSITIVE: INTERRUPT_LATCHED: 0 WDC_INT_IS_MSI MSI (INTERRUPT_MESSAGE) MSI-X (INTERRUPT_MESSAGE_X) 68
75 A API A.3.10 WDC_INT_IS_MSI MSI (Message-Signaled Interrupts) MSI-X (Extended Message-Signaled Interrupts) WDC_INT_IS_MSI(dwIntType) dwinttype DWORD dwinttype MSI (INTERRUPT_MESSAGE) MSI-X (INTERRUPT_MESSAGE_X) TRUE FALSE A.3.11 WDC_GET_ENABLED_INT_LAST_MSG MSI (Message-Signaled Interrupts) MSI-X (Extended Message-Signaled Interrupts) (Windows Vista ) WDC_GET_ENABLED_INT_LAST_MSG(pDev) pdev PWDC_DEVICE pdev WDC [A.3.4] 69
76 WINDRIVER PCI MSI MSI-X 0 A.3.12 WDC_IS_KP WDC Kernel PlugIn WDC_IS_KP(pDev) PDev PWDC_DEVICE pdev WDC [A.3.4] Kernel PlugIn TRUE FALSE A.4 WD_xxx WDC_xxx API WD_xxx API WinDriver/include/windrvr.h A.4.1 WD_BUS_TYP WD_BUS_USB (USB) WD_BUS_UNKNOWN WD_BUS_ISA WD_BUS_EISA ISA EISA (ISA Plug-and-Play) 70
77 A API WD_BUS_PCI WD_BUS_PCMCIA PCI PCMCIA A.4.2 ITEM_TYPE ITEM_NONE ITEM_INTERRUPT ITEM_MEMORY ITEM_IO ITEM_BUS I/O A.4.3 WD_PCMCIA_ACC_SPEED PCMCIA WD_PCMCIA_ACC_SPEED_DEFAULT WD_PCMCIA_ACC_SPEED_250NS WD_PCMCIA_ACC_SPEED_200NS WD_PCMCIA_ACC_SPEED_150NS WD_PCMCIA_ACC_SPEED_1000NS PCMCIA 250 ns 200 ns 150 ns 100 ns A.4.4 WD_PCMCIA_ACC_WIDTH PCMCIA WD_PCMCIA_ACC_WIDTH_DEFAULT WD_PCMCIA_ACC_WIDTH_8BIT WD_PCMCIA_ACC_WIDTH_16BIT PCMCIA 8 16 A.4.5 WD_PCMCIA_VPP PCMCIA (Vpp) 71
78 WINDRIVER PCI WD_PCMCIA_VPP_DEFAULT PCMCIA Vpp WD_PCMCIA_VPP_OFF WD_PCMCIA_VPP_ON WD_PCMCIA_VPP_AS_VSS Vpp 0 () Vpp 12V () Vpp Vcc A.4.6 WD_PCI_ID PCI ID dwvendorid DWORD ID dwdeviceid DWORD ID A.4.7 WD_PCMCIA_ID PCMCIA ID wmanufacturerid WORD ID wcardid WORD ID A.4.8 WD_PCI_SLOT PCI dwbus dwslot DWORD PCI (0 ) DWORD (0 ) dwfunction DWORD (0 ) A.4.9 WD_PCMCIA_SLOT PCMCIA ubus BYTE PCMCIA (0 ) usocket BYTE (0 ) ufunction BYTE (0 ) 72
79 A API A.4.10 WD_ITEMS item fnotsharable DWORD DWORD (ITEM_TYPE [A.4.2] ) WDC_XXXGetDeviceInfo() (PCI: [A.2.7] PCMCIA: [A.2.8]) WD_PciGetCardInfo() WD_PcmciaGetCardInfo() TRUE 1 I/O WDC_XXXGetDeviceInfo() (PCI: [A.2.7] PCMCIA: [A.2.8]) WD_PciGetCardInfo() WD_PcmciaGetCardInfo() dwoptions DWORD WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WD_CardRegister() WD_ITEM_OPTIONS WD_ITEM_DO_NOT_MAP_KERNEL: : WD_ITEM_ALLOW_CACHE (Windows CE ): (I.Mem.dwPhysicalAddr) : RAM I union (item) Mem struct (item = ITEM_MEMORY) dwphysicaladdr dwbytes DWORD DWORD WDC_XXXGetDeviceInfo() (PCI: [A.2.7] PCMCIA: [A.2.8]) WD_PciGetCardInfo() WD_PcmciaGetCardInfo() WDC_XXXGetDeviceInfo() (PCI: [A.2.7] PCMCIA: [A.2.8]) WD_PciGetCardInfo() 73
80 WINDRIVER PCI WD_PcmciaGetCardInfo() dwtransaddr dwuserdirectaddr dwcpuphysicaladdr dwbar DWORD DWORD DWORD DWORD (dwphysicaladdr) WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WD_CardRegister() (dwphysicaladdr) WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WD_CardRegister() (dwphysicaladdr) CPU WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WD_CardRegister() (BAR) WDC_XXXGetDeviceInfo() (PCI: [A.2.7] PCMCIA: [A.2.8]) WD_PciGetCardInfo() WD_PcmciaGetCardInfo() IO struct I/O (item = ITEM_IO) dwaddr dwbytes dwbar Int dwinterrupt DWORD DWORD DWORD struct DWORD I/O WDC_XXXGetDeviceInfo() (PCI: [A.2.7] PCMCIA: [A.2.8]) WD_PciGetCardInfo() WD_PcmciaGetCardInfo() I/O WDC_XXXGetDeviceInfo() (PCI: [A.2.7] PCMCIA: [A.2.8]) WD_PciGetCardInfo() WD_PcmciaGetCardInfo() (BAR) WDC_XXXGetDeviceInfo() (PCI: [A.2.7] PCMCIA: [A.2.8]) WD_PciGetCardInfo() WD_PcmciaGetCardInfo() (item = ITEM_INTERRUPT) (IRQ) WDC_XXXGetDeviceInfo() 74
81 A API dwoptions hinterrupt DWORD DWORD (PCI: [A.2.7] PCMCIA: [A.2.8]) WD_PciGetCardInfo() WD_PcmciaGetCardInfo() INTERRUPT_MESSAGE_X MSI-X (Extended Message-Signaled Interrupts) Linux PCI INTERRUPT_MESSAGE Linux MSI (Message-Signaled Interrupts) Windows MSI MSI-X Linux Windows Vista PCI INTERRUPT_LEVEL_SENSITIVE INTERRUPT_LATCHED 0 : Plug-and-Plau (PCI / PCMCIA / ISA) WinDriver WDC_PciGetDeviceInfo() (PCI) WDC_PcmciaGetDeviceInfo() (PCMCIA) ( WD_PciGetCardInfo() WD_PcmciaGetCardInfo()) Plug-and-Play : INTERRUPT_CE_INT_ID - Windows CE ( ) dwinterrupt WinDriver WD_xxx() WinDriver API WinDriver WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) WD_CardRegister() Bus WD_BUS (item = ITEM_BUS) dwbustype WD_BUS_TYPE (WD_BUS_TYPE [A.4.1] ) 75
82 WINDRIVER PCI dwbusnum DWORD dwslotfunc DWORD () 3 / 0x80 (<=> ) 0 ( 3 : 000) / 0x10 (: 10000) WDC_XXXGetDeviceInfo() (PCI: [A.2.7] PCMCIA: [A.2.8]) WD_PciGetCardInfo() WD_PcmciaGetCardInfo() Val struct A.4.11 WD_CARD dwitems DWORD () Item WD_ITEMS () A.4.12 WD_PCI_CARD_INFO PCI pcislot WD_PCI_SLOT WDC_PciScanDevices() [A.2.4] ( WD_PciScanCards() ) PCI [A.4.8] Card WD_CARD [A.4.10] A.4.13 WD_PCMCIA_CARD_INFO PCMCIA pcmciaslot WD_PCMCIA_SLOT WDC_PcmciaScanDevices() [A.2.6] ( WD_PcmciaScanCards() PCMCIA [A.4.9] Card WD_CARD [A.4.10] cversion CHAR ( ) cmanufacturer CHAR [WD_PCMCIA_ ( ) 76
83 A API cproductname MANUFACTURER_LEN] CHAR [WD_PCMCIA_ PRODUCTNAME_LEN] ( ) wmanufacturerid WORD ID wcardid WORD ID wfuncid WORD ID A.4.14 WD_DMA DMA (Direct Memory Access) hdma puseraddr pkerneladdr DWORD PVOID KPTR DMA ( 0) WDC_DMAContigBufLock() [A.2.38] WDC_DMASGBufLock() [A.2.39] ( WD_DMALock() ) DMA WDC_DMAContigBufLock() [A.2.38] WDC_DMASGBufLock() [A.2.39] ( (pbuf) ) WD_DMALock() : DMA (dwoptions) DMA_KERNEL_ONLY DMA WDC_DMAContigBufLock() [A.2.38] WDC_DMASGBufLock() [A.2.39] (Windows 2000 / XP / Server 2003 / Server 2008 / Vista / 7 ) WD_DMALock() (Windows 2000 / XP / Server 2003 / Server 2008 / Vista / 7 DMA / DMA ) dwbytes DWORD DMA DWORD DMA : ( ) WDC_DMASGBufLock() WDC_DMAContigBufLock() dwoptions WD_DMA dwoptions dwoptions DMA : DMA_FROM_DEVICE: DMA DMA_TO_DEVICE: DMA DMA_TO_FROM_DEVICE: ( : DMA_FROM_DEVICE / : DMA_TO_DEVICE) DMA 77
84 WINDRIVER PCI DMA_KERNEL_BUFFER_ALLOC: DMA () / DMA WD_DMALock() DMA WDC API WDC_DMAContigBufLock() [A.2.38] / DMA WDC_DMASGBufLock() [A.2.39] DMA_KBUF_BELOW_16M: 16 MB DMA DMA (WDC_DMAContigBufLock() [A.2.38] DMA_KERNEL_BUFFER_ALLOC WD_DMALock() ) DMA_LARGE_BUFFER: DMA (dwbytes > 1MB) / DMA WD_DMALock() DMA WDC API DMA WDC_DMASGBufLock() [A.2.39] DMA WDC_DMASGBufLock() [A.2.39] DMA_ALLOW_CACHE: DMA DMA_KERNEL_ONLY_MAP: DMA ( ) DMA_KERNEL_BUFFER_ALLOC ( ) DMA_ALLOW_64BIT_ADDRESS: ( ) 64 DMA Windows Linux dwpages hcard DWORD DWORD DMA 1 (WD_CardRegister() ) WDC_xxxDeviceOpen() WDC WinDriver Page WD_DMA_PAGE DMA 1 (dwpages ) pphysicaladdr KPTR 78
85 A API dwbytes DWORD A.4.15 WD_TRANSFER /IO / DWORD (windrvr.h WD_TRANSFER_CMD ) cmdtrans dwport KPTR / : <dir><p>_[s]<size> : <dir>: R () W () <p>: P (I/O) M ( ) <S>: () <size>: BYTE WORD DWORD QWORD CMD_MASK: (WDC_IntEnable() [A.2.43] InterruptEnable() WD_IntEnable() ) CMD_MASK WinDriver WD_TRANSFER Data ptranscmds WD_TRANSFER ptranscmds[i-1].cmdtrans RM_BYTE WinDriver ptranscmds[i-1].data.byte & ptranscmds[i].data.byte ( MSI / MSI-X WinDriver ) : CMD_MASK (RM_XXX / RP_XXX) (WDC_DEVICE [A.3.3]) I/O : dev.paddrdesc[i].kptaddr (i ) ( WD_xxx() API cardreg.card.item[i] dwaddr (I/O) dwtransaddr ( ) dwbytes DWORD fautoinc DWORD () TRUE I/O / FALSE / / dwoptions DWORD 0 79
86 WINDRIVER PCI Data union ( ) BYTE Byte 8 Word WORD 16 Dword UINT32 32 Qword UINT64 64 pbuffer PVOID () ( ) A.5 Kernel PlugIn Kernel PlugIn KP_Init() [A.5.1] KP_Init() KP_Open() KP_Open() : kpopencall->funcclose = KP_Close; kpopencall->funccall = KP_Call; kpopencall->funcintenable = KP_IntEnable; kpopencall->funcintdisable = KP_IntDisable; kpopencall->funcintatirql = KP_IntAtIrql; kpopencall->funcintatdpc = KP_IntAtDpc; kpopencall->funcintatirqlmsi = KP_IntAtIrqlMSI; kpopencall->funcintatdpcmsi = KP_IntAtDpcMSI; kpopencall->funcevent = KP_Event; Kernel PlugIn KP_XXX() KP_Open() KP_Call() Kernel PlugIn KP_Init() Kernel PlugIn DriverWizardKernel PlugIn ( <MyKP> KP_MyKP_Open() KP_MyKP_Call() ) A.5.1 KP_Init() Kernel PlugIn Kernel PlugIn KP_Open() [A.5.2] BOOL cdecl KP_Init(KP_INIT *kpinit); 80
87 A API kpinit KP_INIT* dwverwd DWORD cdrivername CHAR[12] funcopen KP_FUNC_OPEN kpinit dwverwd cdrivername funcopen Kernel PlugIn [A.6.4] WinDriver Kernel PlugIn ( 12 ) WD_KernelPlugInOpen() KP_Open() pckpdrivername Kernel PlugIn WD_KernelPlugInOpen() WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) TRUE FALSE KP_Init() Kernel PlugIn WinDriver KP_Init() BOOL cdecl KP_Init(KP_INIT *kpinit) { /* Check if the version of the WinDriver Kernel PlugIn library is the same version as windrvr.h and wd_kp.h */ if (kpinit->dwverwd!= WD_VER) { /* You need to re-compile your Kernel PlugIn with the compatible version of the WinDriver Kernel PlugIn library, windrvr.h and wd_kp.h */ return FALSE; } kpinit->funcopen = KP_Open; strcpy (kpinit->cdrivername, "KPDriver"); /* Up to 12 chars */ return TRUE; } 81
88 WINDRIVER PCI A.5.2 KP_Open() WD_KernelPlugInOpen() pckpdrivername Kernel PlugIn WD_KernelPlugInOpen() WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) Kernel PlugIn (KP_Call() [A.5.4] KP_IntEnable() [A.5.6] ) ( ) (*ppdrvcontext) Kernel PlugIn BOOL cdecl KP_Open( KP_OPEN_CALL *kpopencall, HANDLE hwd, PVOID popendata, PVOID *ppdrvcontext); kpopencall KP_OPEN_CALL hwd HANDLE popendata PVOID ppdrvcontext PVOID* kpopencall hwd popendata ppdrvcontext KP_xxx() [A.6.5] WD_KernelPlugInOpen() WinDriver KP_Close() [A.5.3] KP_Call() [A.5.4] KP_IntEnable() [A.5.6] KP_Event() [A.5.5] TRUE FALSE WD_KernelPlugInOpen() 82
89 A API BOOL cdecl KP_Open(KP_OPEN_CALL *kpopencall, HANDLE hwd, PVOID popendata, PVOID *ppdrvcontext) { kpopencall->funcclose = KP_Close; kpopencall->funccall = KP_Call; kpopencall->funcintenable = KP_IntEnable; kpopencall->funcintdisable = KP_IntDisable; kpopencall->funcintatirql = KP_IntAtIrql; kpopencall->funcintatdpc = KP_IntAtDpc; kpopencall->funcintatirqlmsi = KP_IntAtIrqlMSI; kpopencall->funcintatdpcmsi = KP_IntAtDpcMSI; kpopencall->funcevent = KP_Event; } /* You can allocate driver context memory here: */ *ppdrvcontext = malloc(sizeof(mydrv_struct)); return *ppdrvcontext!=null; A.5.3 KP_Close() WD_KernelPlugInClose() Kernel PlugIn (pckpdrivername Kernel PlugIn WDC_xxxDeviceOpen() (PCI [A.2.9] / PCMCIA [A.2.10] / ISA [A.2.11]) ) WDC_xxxDeviceClose() (PCI [A.2.12] / PCMCIA [A.2.13] / ISA [A.2.14]) Kernel PlugIn WD_KernelPlugInClose() Kernel PlugIn ( ) void cdecl KP_Close(PVOID pdrvcontext); KP_FUNC_ CLOSE Kernel PlugnIn callback function type. pdrvcontext PVOID pdrvcontext KP_Open() [A.5.2] 83
90 WINDRIVER PCI void cdecl KP_Close(PVOID pdrvcontext) { if (pdrvcontext) free(pdrvcontext); /* Free allocated driver context memory */ } A.5.4 KP_Call() WDC_CallKerPlug() [A.2.17] ( WD_KernelPlugInCall()) void cdecl KP_Call( PVOID pdrvcontext, WD_KERNEL_PLUGIN_CALL *kpcall, BOOL fiskernelmode); KP_FUNC_ CALL Kernel PlugnIn callback function type. pdrvcontext PVOID / kpcall WD_KERNEL_PLUGIN_CALL dwmessage DWORD pdata PVOID / dwresult DWORD fiskernelmode BOOL pdrvcontext kpcall KP_Open() [A.5.2] KP_Close() [A.5.3] KP_IntEnable() [A.5.6] KP_Event() [A.5.5] WDC_CallKerPlug() [A.2.17] ( WD_KernelPlugInCall()) / [A.6.3] 84
WinDriver v9.00 PCI API リファレンス
JUNGO WinDriver PCI/ISA/CardBus API リファレンス エクセルソフト株式会社 i JUNGO LTD. COPYRIGHT Copyright (c) 1997-2007 Jungo Ltd. All Rigths Reserved. Jungo Ltd. POB 8493 Netanya Zip - 42504 Israel Phone (USA) 1-877-514-0537
More informationエクセルソフト株式会社 WinDriver PCI 5! WinDriver 1. DriverWizard 2. DriverWizard WinDriver 1. Windows 98/Me NT/2000/XP Windows CE/CE.NET Windows Server 2003 Lin
5! WinDriver 1. DriverWizard 2. DriverWizard WinDriver 1. Windows 98/Me NT/2000/XP Windows CE/CE.NET Windows Server 2003 Linux Solaris VxWorks Web http://www.xlsoft.com/jp/products/windriver/ 2. WinDriver
More informationWinDriver を使用して、簡単にデバイス ドライバを作成
WinDriver Jungo WinDriver OS 1 2 OS WinDriver OS Windows Linux Solaris VxWorks OS WinDriver ( ) Web http://www.xlsoft.com/jp/products/downloa d/ WinDriver Ring-0 API I/O PCI/ISA USB 1 WinDriver 1. WinDriver
More informationWinDriver V10.10 ユーザーズ ガイド
JUNGO WinDriver JUNGO LTD. COPYRIGHT Copyright (c) 1997 2009 Jungo Ltd. All Rigths Reserved. Jungo Ltd. POB 8493 Netanya Zip - 42504 Israel Phone (USA) 1-877-514-0537 (WorldWide) +972-9-8859365 Fax (USA)
More informationWinDriver PCI Quick Start Guide
WinDriver PCI/PCI Express/PCMCIA 5! WinDriver (1) DriverWizard (2) DriverWizard WinDriver (1) Windows 98/Me/2000/XP/Server 2003/Vista Windows CE.NET Windows Embedded CE v6.00 Windows Mobile 5.0/6.0 Linux
More informationJungo LTD. COPYRIGHT Copyright (c) Jungo Ltd. All Rights Reserved. Jungo Ltd. POB8493 Netanya Zip Israel Phone (USA) (W
Appendix B. API Reference エクセルソフト株式会社 - 1 - Jungo LTD. COPYRIGHT Copyright (c) 1997 2018 Jungo Ltd. All Rights Reserved. Jungo Ltd. POB8493 Netanya Zip 42504 Israel Phone (USA) 1-877-514-0537 (Worldwide)
More informationWinDriver v10.10 USB リファレンス
JUNGO WinDriver USB API i JUNGO LTD. COPYRIGHT Copyright (c) 1997-2009 Jungo Ltd. All Rigths Reserved. Jungo Ltd. POB 8493 Netanya Zip - 42504 Israel Phone (USA) 1-877-514-0537 (WorldWide) +972-9-8859365
More informationWinDriver Readme
Jungo WinDriver README WinDriver CD WinDriver CD-ROM WinDriver CD Windows 8 Developer Preview / 7 / Server 2008 / Vista / Server 2003 / XP x86 32 x64 64 WinDriver WinDriver (Linux WinCE ) (201295) WinDriver
More informationJungo LTD. COPYRIGHT Copyright (c) Jungo Ltd. All Rights Reserved. Jungo Ltd. POB8493 Netanya Zip Israel Phone (USA) (W
Appendix C. WinDriver IPC エクセルソフト株式会社 - 1 - Jungo LTD. COPYRIGHT Copyright (c) 1997 2018 Jungo Ltd. All Rights Reserved. Jungo Ltd. POB8493 Netanya Zip 42504 Israel Phone (USA) 1-877-514-0537 (Worldwide)
More informationWinDriver Readme
Jungo WinDriver README WinDriver CD WinDriver CD-ROM WinDriver CD Windows 7 / Server 2008 / Vista / Server 2003 / XP / 2000 x86 32 x64 64 WinDriver WinDriver (LinuxWinceSolaris ) (201099) WinDriver Bus
More informationGpci4ソフト_下位DLL_説明書3版.PDF
G-PCI4 ... 3 WINDOWSNT...3 WINDOWS2000/XP...3... 4...4 DLL WINDOWSNT/2000/XP...4...4... 5...5... 6...6...6...6...6...7...9...11... 11... 11... 11... 12... 12...12 ...13...14 1... 14 2... 15 3... 16 4...
More informationWinDriver v9.21 USB リファレンス
JUNGO WinDriver USB API リファレンス エクセルソフト株式会社 i JUNGO LTD. COPYRIGHT Copyright (c) 1997-2008 Jungo Ltd. All Rigths Reserved. Jungo Ltd. POB 8493 Netanya Zip - 42504 Israel Phone (USA) 1-877-514-0537 (WorldWide)
More informationWinDriver USB v8.00 User's Guide
JUNGO WinDriver USB i JUNGO LTD. COPYRIGHT Copyright (c) 1997-2005 Jungo Ltd. All Rigths Reserved. Jungo Ltd. POB 8493 Netanya Zip - 42504 Israel Phone (USA) 1-877-514-0537 (WorldWide) +972-9-8859365 Fax
More informationIO-PCIソフト仕様書3版.PDF
DLL iopcisb.dll95/98/me iopcisbnt.dllnt/2000/xp WindowsSystem iopcisb.lib(95/98/me) iopcisbnt.lib(nt/2000/xp) VisualC/C++ IOPCIapi.h HANDLEhVxD // hvxd=iopciopen(1); // (1) ID // // intret; ret=iopciclose(
More informationuntitled
EPX-64S Rev 1.2 1.. 3 1.1.......... 3 1.2....... 3 1.3....... 4 1.4... 4 1.5... 4 2........ 5 2.1.... 5 EPX64S_GetNumberOfDevices........ 5 EPX64S_GetSerialNumber........ 6 EPX64S_Open....... 7 EPX64S_OpenBySerialNumber
More information00-COVER.P65
AHA-2910C R AHA-2910C PCI-to-Fast SCSI 1998 Adaptec, Inc. All rights reserved. Adaptec, Inc., 691 South Milpitas Blvd., Milpitas, CA 95035 Adaptec Adaptec Adaptec AHA PhaseEngine SCSISelect Adaptec Adaptec
More informationNios® II HAL API を使用したソフトウェア・サンプル集 「Modular Scatter-Gather DMA Core」
ALTIMA Company, MACNICA, Inc Nios II HAL API Modular Scatter-Gather DMA Core Ver.17.1 2018 8 Rev.1 Nios II HAL API Modular Scatter-Gather DMA Core...3...3...4... 4... 5 3-2-1. msgdma... 6 3-2-2. On-Chip
More informationA Responsive Processor for Parallel/Distributed Real-time Processing
E-mail: yamasaki@{ics.keio.ac.jp, etl.go.jp} http://www.ny.ics.keio.ac.jp etc. CPU) I/O I/O or Home Automation, Factory Automation, (SPARC) (SDRAM I/F, DMAC, PCI, USB, Timers/Counters, SIO, PIO, )
More informationLMC-CA84U2
LMC-CA84U2_V06 USB 2.0 Memory Card READER LMC-CA84U2 ... 1... 4... 5... 5... 6... 6... 11... 13 USB 2.0... 17 Macintosh... 18...18...21 Macintosh...24 Windows... 26 Windows XP...26 Windows Me,2000,98...
More informationMultiPASS Suite 3.20 使用説明書
TM MultiPASS Suite Ver.3.20 for Windows ii iii Copyright 2000 Canon Inc. ALL RIGHTS RESERVED iv v vi vii viii ix x 1 1 1-1 1 1 2 3 1-2 4 5 1 1-3 1 6 1-4 7 1 8 9 1-5 10 1 11 1-6 1 1-7 1 1-8 2 1 1-9 1 1
More informationネットワークガイド/本編
JPN ii iii iv v 9 vi vii 1 CHAPTER 1-1 1-2 1-3 1-4 1-5 1-6 1-7 2 CHAPTER 2-1 2-2 1 2 3 2-3 4 5 2-4 6 a b a b 7 2-5 8 9 2-6 10 a b a b 2-7 11 a b b a 2-8 a b a a b b a b 2-9 a b a b 12 2-10 a b a b 2-11
More informationIC 2002 6 12 NEC CK1505-01A IC 1 4 2 5 3 IC 10 3.1 IC...10 3.2...10 4 IC 11 5 USB 13 5.1 USB...13 5.2 USB...15 6 IC 22 7 23 7.1...23 7.2...24 7.3...27 CK1505-01A IC 1 IC USB IC OS USB Windows Windows98(98SE)/Me/2000/XP
More informationWinDriver Readme
この度は Jungo ドライバ開発ツール WinDriver をお買い求めいただき誠にありがとうございま す ご使用の前にこの README を必ずお読みください WinDriver のインストール CD WinDriver インストール CD-ROM には 各オペレーティングシステム用の WinDriver が収録されています CD のルートディレクトリには Windows 10 / 8.1 /
More informationLMC-CA64U2K
LMC-CA64U2K V04 INTERNAL USB 2.0 Memory Card READER ... 1... 4... 5... 5... 6... 8... 8... 12 USB 2.0... 14... 15... 15 USB... 16 USB... 19... 24 Windows XP... 24 Windows Me... 25 Windows 98... 28 WIndows
More informationWinDriver Readme
この度は Jungo ドライバ開発ツール WinDriver をお買い求めいただき誠にありがとうございま す ご使用の前にこの README を必ずお読みください WinDriver のインストール Windows 10 / 10 IoT Core / Server 2016 / 8.1 / Server 2012 R2 / 8 / Server 2012 / 7 / Server 2008 R2
More informationREX-5051fx,ex User's Manual
REX-5051fx REX-5051ex ...1...1...1...2...2...4 1. REX-5051...1-1...1-1 OS( )...1-2...1-2 (REX-5051fx)...1-3 (REX-5051ex)...1-4...1-5 2....2-1 REX-5051fx...2-1 REX-5051ex...2-2...2-3 REX-5051fx...2-4 REX-5051fx...2-4
More information橡Webcamユーザーガイド03.PDF
Desktop On-Call Version 4 Webcam extension Pak for Windows Webcam extension Pak Desktop On-Call Version 4 Web PC i Desktop On-Call Version 4 PC PC Desktop On-Call Version 4 PC Windows 98 Windows 98SE Windows
More informationWinDriver Readme
この度は Jungo ドライバ開発ツール WinDriver をお買い求めいただき誠にありがとうございま す ご使用の前にこの README を必ずお読みください WinDriver のインストール CD WinDriver インストール CD-ROM には 各オペレーティングシステム用の WinDriver が収録されています CD のルートディレクトリには Windows 10 / 8.1 /
More informationComplex Lab – Operating Systems - Graphical Console
Complex Lab Operating Systems Graphical Console Martin Küttler Last assignment Any questions? Any bug reports, whishes, etc.? 1 / 13 We are here Pong Server Paddle Client 1 Paddle Client 2 Memory Management
More informationu302.book
Text Search Filter Library Version 3 3000-6-302-10 P-1MD3-3831* Text Search Filter Library Version 3 03-10 OS AIX 5L V5.2 AIX 5L V5.3 P-24D3-3834 Text Search Filter Library Version 3 03-10 OS Windows 2000
More informationVM-53PA1取扱説明書
VM-53PA1 VM-53PA1 VM-53 VM-53A VM-52 VM-52A VM-53PA1 VM-53PA1 VM-53A CF i ii VM-53 VM-53A VM-52 VM-52A CD-ROM iii VM-53PA1 Microsoft Windows 98SE operating system Microsoft Windows 2000 operating system
More informationSAP Solution in Detail SAP Business One SAP Business One 1 SAP Business One 5 SAP Business One 5 1 5 5 5 6 6 SAP Business One 6 / 6 / 6 / 7 / 7 / 7 / 7 SAP Business One 8 8 9 9 CRM 9 CRM 10 10 SAP Business
More informationunitech PA500 Enterprise PDA Rev. A
unitech PA500 Enterprise PDA Rev. A PA500 Enterprise PDA Unitech Copyright 2007 unitech Electronics Co., Ltd. Web : http:\\www.unitech-japan.co.jp Bluetooth Bluetooth SIG Microsoft Windows ActiveSync
More informationREX-5051W/FW/EW PC Card Adapter
REX-5051W REX-5051FW REX-5051EW ...1...1...1...2...2...4 1. REX-5051...1-1...1-1 OS( )...1-2...1-2 (REX-5051W,REX-5051FW)...1-3 (REX-5051EW)...1-4...1-5 2....2-1 REX-5051FW...2-1 REX-5051W...2-2 REX-5051EW...2-3...2-4
More informationLPM-CBUSB2
LPM-CBUSB V04A CardBus USB.0 INTERFACE Card USB.0 LPM-CBUSB ... 1... 4... 5... 5... 6... 6... 7... 8... 9 Windows XP... 9 Service Pack... 9... 10... 1...16...... 3 Windows Me...4... 4...7 Windows 98...8...
More informationMicrosoft Word - sbnt40r7.doc
1. Microsoft Windows NT4.0 Workstation/Server ( NT40) Sound Blaster 2. AT (DOS/V ) x86 NT40 3. NEC PC98 MIPS R Alpha PowerPC 4. NT40 DOS ( ) 5. [ ] [ ] [ ] 6. (1 5) ( ) 7. NT40 NT40 A J A. Sound Blaster
More informationAccessflÌfl—−ÇŠš1
ACCESS ACCESS i ii ACCESS iii iv ACCESS v vi ACCESS CONTENTS ACCESS CONTENTS ACCESS 1 ACCESS 1 2 ACCESS 3 1 4 ACCESS 5 1 6 ACCESS 7 1 8 9 ACCESS 10 1 ACCESS 11 1 12 ACCESS 13 1 14 ACCESS 15 1 v 16 ACCESS
More informationPart0(TOC).ISA.V2
LA-ISA V2 ii iii LA-ISA V2 iv v B 10 A Plug & Play Plug & Play Legacy Legacy 9 11 Legacy 8 Plug & Play Legacy 7 Legacy 6 3 2 5 Legacy Legacy 1 Plug & Play 4 vi 10 9 8 7 6 5 4 3 2 1 vii viii 10 9 8 7 6
More informationSystemC言語概論
SystemC CPU S/W 2004/01/29 4 SystemC 1 SystemC 2.0.1 CPU S/W 3 ISS SystemC Co-Simulation 2004/01/29 4 SystemC 2 ISS SystemC Co-Simulation GenericCPU_Base ( ) GenericCPU_ISS GenericCPU_Prog GenericCPU_CoSim
More informationi
14 i ii iii iv v vi 14 13 86 13 12 28 14 16 14 15 31 (1) 13 12 28 20 (2) (3) 2 (4) (5) 14 14 50 48 3 11 11 22 14 15 10 14 20 21 20 (1) 14 (2) 14 4 (3) (4) (5) 12 12 (6) 14 15 5 6 7 8 9 10 7
More informationFUJITSU ULTRA LVD SCSI Host Bus Adapter Driver 3.0 説明書
C120-E285-10Z2 FUJITSU ULTRA LVD SCSI Host Bus Adapter Driver 3.0 - for Oracle Solaris - () FUJITSU ULTRA LVD SCSI Host Bus Adapter 3.0 SCSI/SAS SCSI/SAS HBA(Host Bus Adapter) WARNING:
More informationr07.dvi
19 7 ( ) 2019.4.20 1 1.1 (data structure ( (dynamic data structure 1 malloc C free C (garbage collection GC C GC(conservative GC 2 1.2 data next p 3 5 7 9 p 3 5 7 9 p 3 5 7 9 1 1: (single linked list 1
More informationohp07.dvi
19 7 ( ) 2019.4.20 1 (data structure) ( ) (dynamic data structure) 1 malloc C free 1 (static data structure) 2 (2) C (garbage collection GC) C GC(conservative GC) 2 2 conservative GC 3 data next p 3 5
More information94
4 1 2 3 4 5 6 7 8 9 10 11 12 94 4 95 1 2 3 4 96 5 5 4 97 98 1 2 3 4 99 4 100 5 6 1 2 4 101 1 2 3 4 5 1 2 3 4 102 1 2 3 4 4 103 1 2 104 1 2 3 4 4 5 105 1 2 106 4 107 108 1 2 3 4 4 109 1 2 3 4 110 1 2 3
More informationFreeBSD 1
FreeBSD 1 UNIX OS 1 ( ) open, close, read, write, ioctl (cdevsw) OS DMA 2 (8 ) (24 ) 256 open/close/read/write Ioctl 3 2 2 I/O I/O CPU 4 open/close/read/write open, read, write open/close read/write /dev
More informationuntitled
Oracle Direct Seminar Oracle Database.NET NET Visual Studio Oracle Copyright 2010, Oracle. All rights reserved. 2 .NET Oracle.NET + Oracle Visual Studio + Oracle.NET + Oracle Copyright
More informationMultiPASS B-20 MultiPASS Suite 3.10使用説明書
TM MultiPASS Suite Ver.3.10 for Windows ii iii Copyright 1999 Canon Inc. ALL RIGHTS RESERVED iv v vi vii viii ix x 1 2 3 4 5 6 7 8 9 xi xii 1 1 1-1 1 2 3 1-2 4 5 1 1-3 6 1-4 1 7 8 1-5 9 10 11 1-6 1 1-7
More informationRX600 & RX200シリーズ アプリケーションノート RX用仮想EEPROM
R01AN0724JU0170 Rev.1.70 MCU EEPROM RX MCU 1 RX MCU EEPROM VEE VEE API MCU MCU API RX621 RX62N RX62T RX62G RX630 RX631 RX63N RX63T RX210 R01AN0724JU0170 Rev.1.70 Page 1 of 33 1.... 3 1.1... 3 1.2... 3
More informationLMC-CA144U2
LMC-CA144U2_V01 USB 2.0 Memory Card READER LMC-CA144U2 ... 1... 4... 5... 5... 6... 6... 11... 13 USB 2.0... 20 Macintosh... 21... 21 Mac OS X... 21 Mac OS... 25... 28 Macintosh... 31 Windows... 33...
More information0.laisa.copyright.B
ii!!!! iii iv 1 2 3 4 5 A S v vi vii viii 1 2 3 4 5 A S ix x 1 1-1 1 1-2 1 LK RX TX 1-3 1 1 4 2 3 S/N 000770000002346 Rev 1A 0000F4300123 5 6 1-4 1 4 2 3 1 S/N 000770000002346 Rev 1A 0000F4300123 5 7 1-5
More informationbook
Bibliotheca21 Personal 3020-7-245-30 P-26D3-A114 Bibliotheca21 Personal 01-30 OS Windows 2000 Windows Server(R) 2003 Windows XP Windows Server(R) 2008 Windows Vista(R) Windows 7 Adobe Adobe Systems Incorporated
More informationcpp1.dvi
2017 c 1 C++ (1) C C++, C++, C 11, 12 13 (1) 14 (2) 11 1 n C++ //, [List 11] 1: #include // C 2: 3: int main(void) { 4: std::cout
More informationkonicaminolta.co.jp PageScope Net Care
konicaminolta.co.jp PageScope Net Care KONICA MINOLTA PageScope Net Care KONICA MINOLTA PageScope Net Care Web KONICA MINOLTA PageScope Net Care SNMP KONICA MINOLTA Printer-MIB KONICA MINOLTA PageScope
More information橡PervasiveSQL2000ReviewersGuide.PDF
Pervasive.SQL 2000 Reviewer s Guide Pervasive.SQL TM 2000 Reviewer s Guide Rev.1 11/99 Pervasive Software Inc. The Freedom to Create Applications for Everyone, Everywhere ...3 Pervasive.SQL 2000...4 Pervasive.SQL
More informationDOMINOTM DOMINO Melody TM DOMINO Harmony TM DOMINO Symphony TM PCI PCIe DOMINO TM DOMINO Iota TM - DOMINO Melody TM - DOMINO Alpha 2 TM DOMINO Harmony
TM Melody TM Harmony TM Symphony TM e TM Iota TM Melody TM Alpha 2 TM Harmony TM Symphony TM Symphony e TM www.euresys.com info@euresys.com Copyright 200 Euresys s.a. Belgium Euresys Euresys s.a. Belgium
More information07-二村幸孝・出口大輔.indd
GPU Graphics Processing Units HPC High Performance Computing GPU GPGPU General-Purpose computation on GPU CPU GPU GPU *1 Intel Quad-Core Xeon E5472 3.0 GHz 2 6 MB L2 cache 1600 MHz FSB 80 GFlops 1 nvidia
More information目次 目次... 1 はじめに... 3 概要... 4 サポート環境... 5 関数... 6 MEC_OpenDevice... 7 MECDevice_Release... 8 MECDevice_GetFirmVersion... 9 MECDevice_GetCoreTemperature
MECodecAPI Reference Manual 2015 年 9 月 1 日 MEDIAEDGE 株式会社 目次 目次... 1 はじめに... 3 概要... 4 サポート環境... 5 関数... 6 MEC_OpenDevice... 7 MECDevice_Release... 8 MECDevice_GetFirmVersion... 9 MECDevice_GetCoreTemperature...
More informationInstaller_J
(1) (2) (3) (4) (5) (3) Microsoft Windows Windows Vista Visual Basic Visual C++ EPSON ESC/POS Copyright 2008 SEIKO EPSON CORPORATION 1...1 1.1...1 1.2...1 1.3...2 2...3 2.1...3 2.2...3 2.2.1...4 2.2.2...10
More informationEPSON Offirio SynergyWare PrintDirector 取扱説明書 導入ガイド
Offirio SynergyWare PrintDirector K L Microsoft WindowsNT Operating System Version4.0 Microsoft Windows 2000 Operating System Microsoft Windows Server 2003, Standard Edition Microsoft Windows Server 2003,
More informationインストールマニュアル
EPSON OPOS ADK (1) (2) (3) (4) (5) (3) Microsoft Windows Windows Vista Windows Server Visual Basic Visual C++ EPSON ESC/POS Copyright 2000-2011 SEIKO EPSON CORPORATION 1...1 1.1...1 1.2...1 1.3...2 2...4
More informationQuartus II ハンドブック Volume 5、セクションIV. マルチプロセッサの調整
IV. SOPC Builder Nios II 9 Avalon Mutex 10 Avalon Mailbox 9 10 / 9 v5.1.0 2005 5 v5.0.0 Nios II 2004 12 v1.0 10 v5.1.0 2005 5 v5.0.0 Altera Corporation IV 1 Quartus II Volume 5 IV 2 Altera Corporation
More informationチュートリアル XP Embedded 入門編
TUT-0057 Ver. 1.0 www.interface.co.jp Ver 1.0 2005 6 (,), Web site () / () 2004 Interface Corporation. All rights reserved. ...1...1 1. XP Embedded...2 2....3 2.1....3 2.2....4 2.2.1. SLD...4 2.3....5
More informationthesis.dvi
H8 e041220 2009 2 Copyright c 2009 by Kentarou Nagashima c 2009 Kentarou Nagashima All rights reserved , H8.,,,..,.,., AKI-H8/3052LAN. OS. OS H8 Write Turbo. H8 C, Cygwin.,., windows. UDP., (TA7279P).,.
More informationLDR-MA16FU2_WM.n.[.h.E.F.A.}.j...A.._Win.p65
LDR-MA16FU2/WM DVD-RAM DVD+R 2 DVD+R DVD+RW 1 DVD-R 2 DVD-R DVD-RW USB 2.0 High-Speed IEEE 1394 DVD-RAM R/RW DVD LDR-MA16FU2/WM 11 DVD CD DVD 16 DVD DVD+R DVD+RW DVD-R DVD-RW DVD DVD DVD PC DVD 2 DVD+R
More informationAPI-PAC(W32)RM/AIO
PC-MODULE / PC-HELPER API-PAC(W32) AIO http://www.contec.co.jp/ http://www.contec.com/ http://www.contec.com.cn/ PDF / ( ) E-mail(tsc@contec.co.jp) FAX E-mail Question FAX Question FAX Question API-PAC(W32)RM/AIO
More informationICD-SX78/SX88
VCCIB 2 ...2...5...6...9... 10 1:... 15... 16 2:... 18 3... 20... 22... 25 VOR... 26... 27... 28 2... 29... 30... 31... 32... 33... 35 DPC... 35 A-B... 36... 36... 37... 39 1... 39... 39 3 4... 40... 41...
More information2008 DS T050049
DS T050049. PSP DS DS DS RPG DS OS Windows XP DevkiPro OS DS CPU ARM devkitarm MSYS MinGW MSYS MinGW Unix OS C++ C++ make nds nds DS DS micro SD Card nds DS DS DS nds C Java C++ nds nds DS 2008 DS T050049
More informationインテル® VTune™ パフォーマンス・アナライザー 9.1 Windows* 版
VTune 9.1 Windows* ................................. 3...................... 3.................................................. 3............................................ 4 :.........................4................................................
More informationuntitled
AWG-50 Rev 6.5 1 4 2 5 3 5 4 6 4.1 6 4.2 6 4.3 7 4.4 7 4.5 8 4.6 8 4.7 8 4.8 9 5 CD-ROM 10 6 11 6.1 11 6.1.1 Windows 10 11 6.1.2 Windows 8 8.1 12 6.1.3 Windows 7 13 6.1.4 Windows Vista 14 6.1.5 Windows
More informationはじめての帳票作成
ucosminexus EUR 3020-7-532 OS Windows Vista Windows XP P-26D2-5684 ucosminexus EUR Designer 08-00 P-26D2-5784 ucosminexus EUR Developer 08-00 ISO9001 TickIT Microsoft Microsoft Corp. Microsoft Excel Microsoft
More informationfp.gby
1 1 2 2 3 2 4 5 6 7 8 9 10 11 Haskell 12 13 Haskell 14 15 ( ) 16 ) 30 17 static 18 (IORef) 19 20 OK NG 21 Haskell (+) :: Num a => a -> a -> a sort :: Ord a => [a] -> [a] delete :: Eq a => a -> [a] -> [a]
More informationインストールマニュアル
EPSON OPOS ADK (1) (2) (3) (4) (5) (3) Microsoft Windows Windows Vista Windows Server Visual Basic Visual C++ EPSON ESC/POS Bluetooth Bluetooth SIG,Inc. Copyright 2000-2017 Seiko Epson Corporation 1...1
More information本機をお使いの方へ
MA46H/S Windows 98 / NT 4.0 Windows 98 / NT 4.0 MA46H/S BIOS 1999 10 808-877675-132-A 3 AT 6. 1. BIOS P.7 1. Windows 98 Windows Windows 98 Microsoft Windows 98 Windows NT 4.0 Microsoft Windows NT Workstation
More informationCSV ToDo ToDo
intra-mart ver4.0 2003/05/02 1. ( 10 imode ConceptBase imode CSV ToDo ToDo 2. intra-mart ver4.0 Java Sun JDK1.3.1 WebServerConnector Java DDL intra-mart intra-mart Java OS (1 Web Web intra-mart 2 Sun ONE
More informationwireshark dissector with lua
2013/06/05 @team_eririn https://www.ainoniwa.net/ssp/ Lua プラグインを用いて Wireshark にデコード可能なプロトコルを追加する手法について記載します 今回は ネットワークベンチマークソフトウェアである iperf パケットを題材にします 2 OS Windows XP, Vista, 7 Wireshark Version : 1.6.x
More informationr03.dvi
19 ( ) 019.4.0 CS 1 (comand line arguments) Unix./a.out aa bbb ccc ( ) C main void... argc argv argc ( ) argv (C char ) ( 1) argc 4 argv NULL. / a. o u t \0 a a \0 b b b \0 c c c \0 1: // argdemo1.c ---
More informationUser's Guide
magicolor 2300 DL 1800687-014B magicolor 2300 DL Windows TCP/IP Web URL http://www.minolta-qms.co.jp/support/userreg/index.html QMS MINOLTA-QMS magicolor MINOLTA-QMS, Inc. Minolta Peerless Systems Corporation
More informationMSAC-EX1
3-218-418-02 (1) ExpressCard MSAC-EX1 b 2 MSAC-EX1 3 Program 2007 Sony Corporation Documentation 2007 Sony Corporation Memory Stick MagicGate Memory Stick Memory Stick Duo MagicGate Memory Stick Duo Memory
More informationFor_Beginners_CAPL.indd
CAPL Vector Japan Co., Ltd. 目次 1 CAPL 03 2 CAPL 03 3 CAPL 03 4 CAPL 04 4.1 CAPL 4.2 CAPL 4.3 07 5 CAPL 08 5.1 CANoe 5.2 CANalyzer 6 CAPL 10 7 CAPL 11 7.1 CAPL 7.2 CAPL 7.3 CAPL 7.4 CAPL 16 7.5 18 8 CAPL
More informationCreative Sound Blaster Digital Music Creative Technology Ltd. Creative Technology Ltd. 1 CD Copyright 2003 Creative Technology Ltd. All rights reserved. 2003 3 1 Sound Blaster Creative Technology Ltd.
More informationDVD...j.b.g.n.[.h.E.F.A.}.j...A...p65
DVD DVD LDR-PNA885U2 DVD-RAM LDR-PCA880U2 DVD-RAM -2- LDR-PNA885U2 LDR-PNA885U2 DVD-RAM DVD+R 2 DVD+R DVD+RW 1 DVD-R DVD-RW USB 2.0 High-Speed DVD-RAM R/RW DVD LDR-PNA885U2 10 DVD-RAM 5 DVD CD DVD DVD+R
More information5 1 2 3 4 5 6 7 8 9 10 11 12 1 132 CMOS Setup Utility - Copyright (C) 1984-2000 Award Software Power Management Setup ACPI Suspend Type S3 (STR) Power Management User Define Video Off Method DPMS Video
More informationohp03.dvi
19 3 ( ) 2019.4.20 CS 1 (comand line arguments) Unix./a.out aa bbb ccc ( ) C main void int main(int argc, char *argv[]) {... 2 (2) argc argv argc ( ) argv (C char ) ( 1) argc 4 argv NULL. / a. o u t \0
More informationBPC-0821 Help for Windows
IFMEM4G.WIN BPC-0821 Windows 用メモリアクセスツール Help for Windows www.interface.co.jp 目次 第 1 章はじめに 2 1.1 概要...2 1.2 特長...2 第 2 章製品仕様 3 2.1 基本仕様...3 2.2 製品構成...3 第 3 章導入方法 4 3.1 インストール手順...4 3.2 実行手順...4 第 4 章リファレンス
More informationwaylandを動かす
wayland nozzy@debian.or.jp 2013 11 16 2013 11 16 1/31 wayland! weston! wayland weston wayland Kristian Høgsberg 2013 11 16 2/31 wayland! weston! 2013 11 16 3/31 weston ( ) 2013 11 16 4/31 weston (weston.ini
More informationi ii iii iv v vi vii ( ー ー ) ( ) ( ) ( ) ( ) ー ( ) ( ) ー ー ( ) ( ) ( ) ( ) ( ) 13 202 24122783 3622316 (1) (2) (3) (4) 2483 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) 11 11 2483 13
More informationXML ( ) XML XML jedit XML XPath XSLT jedit JAVA VM jedit Slava Pestov GNU GPL ( ) jedit jedit ( jedit XML jed
XML XML XML jedit XML XPath XSLT jedit JAVA VM jedit Slava Pestov GNU GPL ( jedit jedit (http://www.jedit.org/index.php jedit XML jedit Plugin Central (http://plugins.jedit.org/ jedit Java (Java VM = Java
More information,,.,,., II,,,.,,.,.,,,.,,,.,, II i
12 Load Dispersion Methods in Thin Client Systems 1010405 2001 2 5 ,,.,,., II,,,.,,.,.,,,.,,,.,, II i Abstract Load Dispersion Methods in Thin Client Systems Noritaka TAKEUCHI Server Based Computing by
More information1 122
6 1 2 3 4 5 6 1 122 PhoenixBIOS Setup Utility MainAdvancedSecurityPowerExit MainSystem DevicesSecurityBootExit System Time: [XX:XX:XX] [XX:XX:XX] System Date: [XX/XX/XX] [XX/XX/XXXX] Item Specific Help
More informationJIIAセミナー
Digital Interface IIDC URL teli.co.jp/ E-Mail http://www.toshiba-teli.co.jp teli.co.jp/ s-itokawa@toshiba-teli.co.jpteli.co.jp EIA,NTSC EIA,NTSC 4-5 JIIA JIIA - / Digital Interface Digital Interface IEEE1394
More informationDVD-±R/RWユニット ハードウェアマニュアル
LDR-CA160U2_HARD V01 USB 2.0 DVD R/RW LDR-CA160U2... 4... 5... 7... 9... 10... 14... 16... 18... 19... 24... 25... 27 DOS/VOADG(*1)DOS/V (*1)OADG PC (OADG URL http://www.oadg.or.jp/) - 1 - DVD R/RW DVD
More informationWinDriver v11.70 ユーザーズ ガイド
JUNGO CONNECTIVITY LTD. WinDriver ユーザーズガイド エクセルソフト株式会社 JUNGO CONNECTIVITY LTD. COPYRIGHT Copyright (c) 2015 Jungo Connectivity Ltd. All Rigths Reserved. Jungo Connectivity Ltd. 1st. Hamachshev street,
More informationFX-DS110-CFC
LAN-HELPER LAN(2.4GHz) FLEXLAN-DS110 CF CARD CF CF CF 3.3V 3.3V CF ( 0~50) ( 10~90RH ( )) ( ) ( ) 1 2 3 2. 4 D S 4 2.4GHz DS-SS 40m B (VCCI) B MSMicrosoftWindowsWindows NTMS-DOS Microsoft Corporation Netscape
More informationja:Products:USB-3-Hard-Drive:Printable · User Manuals
: 07-21-2010 USB 3.0 USB 3.0 SuperSpeed USB 3.0 LaCie : LaCie Hard Disk USB 3.0 (USB 2.0 1.1 ) USB ( ) ( ) : PDF : 1 ユーサ ーマニュアル LaCie http://www.lacie.jp/external/index.html web : USB 3.0 USB 3.0 USB 3.0
More information262014 3 1 1 6 3 2 198810 2/ 198810 2 1 3 4 http://www.pref.hiroshima.lg.jp/site/monjokan/ 1... 1... 1... 2... 2... 4... 5... 9... 9... 10... 10... 10... 10... 13 2... 13 3... 15... 15... 15... 16 4...
More informationstrtok-count.eps
IoT FPGA 2016/12/1 IoT FPGA 200MHz 32 ASCII PCI Express FPGA OpenCL (Volvox) Volvox CPU 10 1 IoT (Internet of Things) 2020 208 [1] IoT IoT HTTP JSON ( Python Ruby) IoT IoT IoT (Hadoop [2] ) AI (Artificial
More informationMicrosoft Word - DT-5100Lib_Manual_DotNet.doc
CASSIOPEIA DT-5100 シリーズ.NET ライブラリマニュアル 概要編 Ver 3.00 変更履歴 No Revision 更新日項改訂内容 1 1.00 03/1/20 初版初版発行 2 3.00 05/03/15 3 カシオライブラリマニュアル (.NET) 開発マニュアルの 1~4 をひとまとめ にしました 4 5 6 7 8 9 10 11 12 13 14 15 16 17
More information