.586 .MODEL FLAT, STDCALL OPTION CASEMAP :NONE INCLUDE \MASM32\INCLUDE\WINDOWS.INC INCLUDE \MASM32\INCLUDE\USER32.INC INCLUDE \MASM32\INCLUDE\KERNEL32.INC INCLUDE \MASM32\INCLUDE\GDI32.INC INCLUDE \MASM32\INCLUDE\COMDLG32.INC ; the following 2 includes are supplied in my web pages, see instructions INCLUDE \MASM32\INCLUDE\WNASPI32.INC INCLUDE \MASM32\INCLUDE\SCSIDEFS.INC INCLUDELIB \MASM32\LIB\USER32.LIB INCLUDELIB \MASM32\LIB\KERNEL32.LIB INCLUDELIB \MASM32\LIB\GDI32.LIB INCLUDELIB \MASM32\LIB\COMDLG32.LIB ;======================================================================== .DATA ;------------------------------------------------------------------------ ; dataseg for FFASPI.INC hEventSRB DD ? ;handle to the event ashWnd DD ? ;HWND of the calling program szAspiDllName DB "WNASPI32.DLL",0 hAspiLib DD ? szGetASPI32SupportInfo DB "GetASPI32SupportInfo",0 fnGetASPI32SupportInfo DD ? szSendASPI32Command DB "SendASPI32Command",0 fnSendASPI32Command DD ? ; note: ASTA stands for Aspi STArt szCaption_ASTA DB "Message from AspiStart",0 szMsg_ASTA_1 DB "Library WNASPI32.DLL not found.",0 szMsg_ASTA_2 DB "Function GetASPI32SupportInfo not found.",0 szMsg_ASTA_3 DB "Function SendASPI32Command not found.",0 szMsg_ASTA_4 DB "ASPI support not found.",0 szMsg_ASTA_5 DB "ASPI for Windows does not support real mode.",0 szMsg_ASTA_6 DB "Installed ASPI support does not support win32.",0 szMsg_ASTA_7 DB "No SCSI2 host adapters installed.",0 szMsg_ASTA_8 DB "DLL mismatch. Reinstall ASPI support.",0 szMsg_ASTA_9 DB "Insufficient system resources. Can't install ASPI support.",0 szMsg_ASTA_10 DB "ASPI support failed initialization.",0 szMsg_ASTA_11 DB "ASPI for Windows: unknown error.",0 szMsg_ASTA_12 DB "Could not create the event.",0 szCaption_SBS DB "Message from SCSI2 bus scan",0 ; note: SBS stands for Scsi2 Bus Scan szMsg_SBS_1 DB "Host adapter inquiry failed.",0 szMsg_SBS_2 DB "Installed ASPI manager: .................",0 szMsg_SBS_3 DB "Host adapter number : inquiry failed.",0 szMsg_SBS_4 DB "Identifier of host adapter n. : .....................",0 szCaption_SBS_5 DB "SCSI2 Id . lun . - ................................." szBuf_SBS_5 DB "...................................." ;36 bytes szMsg_SBS_5 DB ".........................",0,0,0,0,0,0,0,0,0,0,0 HA_num DD ? ;used to scan host adapters one at a time HA_Count DD ? ;installed host adapters count SCSI_Id DD ? SCSI_Lun DD ? SRB_INQUIRY SRB_HAInquiry SRB_GDEVB SRB_GDEVBlock SRB_EXEC SRB_ExecSCSICmd DevicesTable DB "Direct access storage device",0,0,0,0,0 DB "Sequential access storage device",0 DB "Printer device",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB "Processor device",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB "WORM device",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB "CD-ROM device",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB "Scanner device",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 DB "Optical memory device",0,0,0,0,0,0,0,0,0,0,0,0 DB "Medium changer device",0,0,0,0,0,0,0,0,0,0,0,0 DB "Communication device",0,0,0,0,0,0,0,0,0,0,0,0,0 szCaptionSense DB "Check sense",0 szMsgSense DB "ASPI status: ... - HA status: ... - Target status: ...",13,13,"Sense code: ..H - ASC: ..H - ASCQ: ..H",0 ;------------------------------------------------------------------------ ; dataseg for FFSCAN.INC schWnd DD ? scMemoryArea DD ? scImageWidth DD ? scImageHeight DD ? scLampLevel DD ? scSheetFeeding DD ? scAdapId DD ? scSCSIid DD ? scSCSIlun DD ? scADF DD ? SetWindowBuffer DB 72 DUP (?) TotBytes2Read DD ? Bytes2Read DD ? ;------------------------------------------------------------------------ ; dataseg for FFUTIL.INC HEXCAP DB "DEBUG - register value:",0 HEXBUF DB "........",0 srhWnd DD ? srValue DD ? ;------------------------------------------------------------------------ ; dataseg for FFCDR.INC cdhWnd DD ? cdAdapId DD ? cdSCSIid DD ? cdSCSIlun DD ? DiscInfoBlock DB 34 DUP ("A") DiscInfoMsg DB "Erasable: " _erasable DB "xxx",13,"State of last session: " _session_state DB "xxxxxxxxxxxxxxxxxx",13,"Disc Status: " _disc_status DB "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",13,"Number of first track on disk: " _num_of_1_track DB "xx hex",13,"Number of sessions: " _num_of_sessions DB "xx hex",13,"First track number in last session: " _first_track DB "xx hex",13,"Last track number in last session: " _last_track DB "xx hex",13,"Disk IDentification valid: " _did_v DB "xxx",13,"Disk Bar Code valid: " _dbc_v DB "xxx",13,"Disk unrestricted use: " _uru DB "xxx",13,"Disk Type: " _disc_type DB "Reserved ",13,"Disk IDentification: " _did DB "xxxxxxxx",13,"Last session lead-in start time MSF: " _last_1 DB "xxxxxxxx",13,"Last possible start time MSF: " _last_2 DB "xxxxxxxx",13,"Disc Bar Code: " _dbc DB "xxxxxxxxxxxxxxxx hex" _end_of_asciiz DB 0 _no DB " no" _yes DB "yes" _empty_session DB "empty session " _incomplete_sess DB "incomplete session" _reserved DB "reserved " _complete_session DB "complete session " _empty DB "empty disc " _incomplete DB "incomplete disc (appendable) " _complete DB "complete disc (not appendable)" _cd_da DB "CD-DA or CD-ROM disc" _cd_i DB "CD-I disc " _cd_xa DB "CD-ROM XA disc " _undefined DB "undefined " ;------------------------------------------------------------------------ ; dataseg for FFBASE64.INC B64pFileName DD ? B64Handle DD ? B64Buffer DB 390 DUP (?) B64BytesRead DD ? B64retBytes DD ? PAD_FLAG DD ? INCLUDE B64TABLE.INC ;------------------------------------------------------------------------ ; to do: add here the data segment of your include file ;------------------------------------------------------------------------ ;======================================================================== .code ;------------------------------------------------------------------------ DllEntryPoint PROC hInstDLL:DWORD, reason:DWORD, unused:DWORD ;-------------------------------------------; MOV EAX,TRUE RET ;-------------------------------------------; DllEntryPoint ENDP ;======================================================================== INCLUDE FFASPI.INC INCLUDE FFSCAN.INC INCLUDE FFUTIL.INC INCLUDE FFCDR.INC INCLUDE FFBASE64.INC ;======================================================================== End DllEntryPoint