In the WInhec 2006 Storport Foils and in Storport.h , there reference to
typedef struct _STORPORT_EXTENDED_FUNCTIONS {
ULONG Version;
// Port extended services
PStorPortGetMessageInterruptInformation GetMessageInterruptInformation;
PStorPortPutScatterGatherList PutScatterGatherList;
PStorPortBuildScatterGatherList BuildScatterGatherList;
PStorPortFreePool FreePool;
PStorPortAllocatePool AllocatePool;
PStorPortGetSystemAddress GetSystemAddress;
PStorPortAcquireMSISpinLock AcquireMSISpinLock;
PStorPortReleaseMSISpinLock ReleaseMSISpinLock;
PStorPortCompleteServiceIrp CompleteServiceIrp;
PStorPortGetOriginalMdl GetOriginalMdl;
} STORPORT_EXTENDED_FUNCTIONS, *PSTORPORT_EXTENDED_FUNCTIONS;
which WDK doesnt Talk about ,it contains FP table of extended Storport Functions. Does any body know how to populate this table
From Storport.h there is a
typedef enum _SCSI_NOTIFICATION_TYPE {
RequestComplete,
NextRequest,
NextLuRequest,
ResetDetected,
_obsolete1, // STORPORT: CallDisableInterrupts has been removed
_obsolete2, // STORPORT: CallEnableInterrupts has been removed
RequestTimerCall,
BusChangeDetected,
WMIEvent,
WMIReregister,
LinkUp,
LinkDown,
QueryTickCount,
BufferOverrunDetected,
TraceNotification,
GetExtendedFunctionTable, // ***** Should we USE this ******
EnablePassiveInitialization = 0x1000,
InitializeDpc,
IssueDpc,
AcquireSpinLock,
ReleaseSpinLock
} SCSI_NOTIFICATION_TYPE, *PSCSI_NOTIFICATION_TYPE;
STORPORT_API
VOID
StorPortNotification(
IN SCSI_NOTIFICATION_TYPE NotificationType,
IN PVOID HwDeviceExtension,
…
);
StorPortNotification Returns Void , How do we populate the list then ?
Thanks,
Manohara