Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

135 lines
8.2 KiB

#include <windows.h>
#include <ntverp.h>
#define VER_FILETYPE VFT_DRV
#define VER_FILESUBTYPE VFT2_DRV_SYSTEM
#define VER_FILEDESCRIPTION_STR "Cyclades-Z Port Driver"
#define VER_INTERNALNAME_STR "cyzport.sys"
#define VER_ORIGINALFILENAME_STR "cyzport.sys"
#define VER_LEGALCOPYRIGHT_YEARS "1997-2001"
#define VER_LEGALCOPYRIGHT_STR "Copyright (C) Cyclades Corp. " VER_LEGALCOPYRIGHT_YEARS
#define VER_FILEVERSION 1,0,19,0
#define VER_FILEVERSION_STR "1.0.19.0"
#include "common.ver"
#include "cyzlog.rc"
// History
//
// 1.0.19.0 10/22/01 Fix from Win2k SP2 applied: CyzPowerDispatch doesn't
// call PoStartNextPowerIrp and CyzCompleteRequest when
// CyzIRPPrologue returns STATUS_PENDING.
// 1.0.18.0 07/05/01 Applying changes from DDK RC1: Do not complete Irp when
// CyzIRPPrologue returns STATUS_PENDING. (CyyIRPPrologue
// returns STATUS_PENDING when device is in Stopped state.)
// Removal of DbgBreakPoint in CyzLogInit to prevent
// breakpoints in low resource simulation with checked
// builds.
// Following changes in serial were not applied: use of
// SetDeviceIsOpened instead of updating DeviceIsOpened
// flag directly; no power down after Start up or when
// closing port if EnablePowerManagement is set in the
// Registry.
// 1.0.17.0 07/02/01 No need to send Power Irp to power up the device during
// IRP_MN_START_DEVICE.
// 1.0.16.0 05/31/01 Check if PowerState is PowerDeviceD0 in CyzTxStart.
// CyzHandleModemUpdate was not resetting TXHolding when
// modem flow control was reset.
// 1.0.15.0 05/04/01 More fixes for Driver Verifier: IoMarkIrpPending required
// when STATUS_PENDING returned. CyzSystemPowerComplete
// completing Irp when PoRequestPowerIrp fails.
// IoMarkIrpPending called when Irp->PendingReturned set
// in the IoCompletion routine of Device Power Irp.
// 1.0.14.0 04/27/01 _WIN64 code removed. Set busNumber to 0xFFFFFFFF
// when call to get DevicePropertyBusNumber fails;
// device name will use static currentInstance whenever
// busNumber is 0xFFFFFFFF.
// 1.0.13.0 04/25/01 Delete #defines for VER_COMPANYNAME_STR,
// VER_PRODUCTNAME_STR, VER_PRODUCTVERSION and
// VER_PRODUCTVERSION_STR to fix compilation
// warnings.
// 1.0.12.0 04/18/01 Device name for _WIN64 will use static currentInstance
// number. This is because cyclad-z cannot retrieve
// the PCI slot number in 64-bit system.
// 1.0.11.0 04/16/01 Fix for Driver Verifier: IoMarkIrpPending required
// when STATUS_PENDING returned.
// 1.0.10.0 04/02/01 Just version change.
// 1.0.9.0 03/20/01 RtlAppendUnicodeToString was failing with
// STATUS_BUFFER_TOO_SMALL when updating
// SymbolicLinkName in CyzUndoExternalNaming.
// CyzReadSymName is used now.
// Device name changed from \Device\Cyzport?Pci? to
// \Device\Pci?Cyzport?.
// 1.0.8.0 03/14/01 Changes for serial from DDK 2416 (Whistler pre-Beta2)
// to DDK 2446 (Whistler pre-Beta2) applied.
// 1.0.7.0 03/12/01 Changes for serial from DDK 2195 (Windows 2000) to
// DDK 2416 (Whistler pre-Beta2) applied.
// 1.0.6.0 03/12/01 Just version change.
// 1.0.5.0 03/02/01 cyzpnp.c: Device name is no longer using static instance
// number that is incremented every time the driver
// is loaded; instead it is using a fixed name based
// on the PCI slot and port number. This change fixed
// the Rename-Disable-Enable problem.
// 1.0.4.0 02/26/01 Device SET_POWER is no longer waiting for kernel event
// during power up; it is setting an IoCompletion routine.
// System SET_POWER changed to return STATUS_PENDING, set an
// IoCompletion routine, and request Device power Irp in the
// IoCompletion routine. The power management has the
// same changes as in Y 1.0.7.0.
// 1.0.3.0 02/23/01 Fix for Hyperterminal not working after Standby or
// Hibernation: CyzDisableHw is not longer called during
// power down. CyzDisableHw would send C_CM_IOCTL and
// C_CM_RESET to the firmware, and this would reset the
// modem output signals. The DCD change event in the other
// Hyperterminal session would cause the Read Irp to be
// cancelled, and no other Read Irp would be sent to the
// driver.
// CyzReset called during power up only if port is opened.
// 1.0.2.0 01/29/01 Check for invalid get and put read from PtZfIntQueue in
// CyzPollingDpc.
// 01/25/01 Driver built with Whistler DDK 2416.
// 64-bit Compilation error fixed in cyzinit.c.
// 1.0.1.0 12/06/00 Driver built with Whistler DDK (Beta1).
// Fix for Hibernation: CyzSetPowerD3 no longer paged code due
// to IRQL raise by spin lock.
// 1.0.0.16 11/20/00 Check if Extension->PtZfIntQueue is valid before accessing it.
// 1.0.0.15 11/10/00 Fix deadlock during Open: CyzMarkOpen was trying to acquire
// PollingLock inside PollLock, while the CyzPollingDcp was acquiring
// PollLock inside PollingLock. Replace CyzDisableHwAndTimer
// by CyzDisableHw and CyzTryToDisableTimer. Change CyzReleaseResources
// to protect CyzCleanLists with PollingLock instead of PollLock.
// 1.0.0.14 11/02/00 MmMapIoSpace mapping only memory used by single port
// instead of mapping whole 1MB board memory.
// 1.0.0.13 - None.
// 1.0.0.12 10/11/00 Fix Rename-Disable-Enable problem: SymbolicLinkName
// was being changed by the Property Page, but driver
// was trying to delete the original name.
// 1.0.0.11 10/09/00 Added support to interrupt mode when POLL is not defined
// during compilation time (in the sources file).
// 1.0.0.10 09/22/00 Change cyzportp.h and cyzpoll.c to support 64bit environment.
// Add #if _WIN64 code in cyzpoll.c.
// 1.0.0.9 - None.
// 1.0.0.8 08/15/00 Fix CYZ_INCOMPATIBLE_FIRMWARE log to have required version as a
// parameter instead of hardcoding to 3.2.3.
// 08/10/00 Do not read PPPaware from the Registry, we are removing support
// to PPPaware.
// Do not set/reset DTR/RTS when FIRMWARE_HANDSHAKE defined.
// Add #ifndef FIRMWARE_HANDSHAKE in cyzpoll.c.
// 1.0.0.7 08/08/00 Read WriteComplete flag from the Registry. The user can now configure
// the driver to complete Write immediatly or after fw buffer is
// empty. The default is complete immediatly.
// 1.0.0.6 08/04/00 Read PPPaware flag from the Registry. The PPPaware mode will be
// enabled by default, to fix WsStress UDP/SPX test error.
// Check if firmware version is at least 3.2.3.
// 1.0.0.5 07/21/00 Changes from cyyport from 1.0.0.12 to 1.0.0.27 were applied.
// KeInitilizeSpinLock was not being called for pDispatch->PollingLock.
// #if 0 removed from pragma alloc_text in cyzmodem.c.
// CyzCreateOpen changed from PAGESER to PAGESRP0.
// Minor change: Delete functions that refer to CD1400 from cyzport.h.
// 1.0.0.2 02/29/00 Fix IRP_MN_REMOVE_DEVICE to detach cyzport from stack only
// after calling lower drivers. CyzRemoveDevObj() had to be
// changed for this.
// 1.0.0.1 02/28/00 Comment change.