?? testmpd.c
字號(hào):
#include "inc\miniport.h"
#include "inc\srb.h"
#include "testmpd.h"
void *memset( void *dest, int c, unsigned count );
#pragma intrinsic (memset)
ULONG
DriverEntry(
IN PVOID Argument1,
IN PVOID Argument2
)
{
HW_INITIALIZATION_DATA hwInitializationData;
ULONG uStatus;
memset( &hwInitializationData, 0, sizeof(hwInitializationData) );
hwInitializationData.HwInitializationDataSize = sizeof(HW_INITIALIZATION_DATA);
hwInitializationData.HwInitialize = Initialize;
hwInitializationData.HwResetBus = ResetBus;
hwInitializationData.HwStartIo = StartIo;
hwInitializationData.HwFindAdapter = FindAdapter;
hwInitializationData.NeedPhysicalAddresses = FALSE;
hwInitializationData.MapBuffers = TRUE;
hwInitializationData.DeviceExtensionSize = sizeof(St_DeviceExt);
hwInitializationData.SpecificLuExtensionSize = sizeof(St_LunExt);
hwInitializationData.NumberOfAccessRanges = 1; // Only memory ranage
hwInitializationData.SrbExtensionSize = 0;
//hwInitializationData.AdapterInterfaceType = Isa;
uStatus = ScsiPortInitialize(Argument1, Argument2, &hwInitializationData, NULL);
return uStatus;
}
ULONG
FindAdapter(
IN PVOID DeviceExtension,
IN PVOID Context,
IN PVOID BusInformation,
IN PCHAR ArgumentString,
IN OUT PPORT_CONFIGURATION_INFORMATION ConfigInfo,
OUT PBOOLEAN Again
)
{
*Again = FALSE;
ConfigInfo->NumberOfBuses = 1;
ConfigInfo->MaximumTransferLength = 0x8000;
return SP_RETURN_FOUND;
}
BOOLEAN
Initialize(
IN PVOID DeviceExtension
)
{
St_DeviceExt * pExt = (St_DeviceExt *)DeviceExtension;
ScsiPortNotification(ResetDetected, DeviceExtension, 0);
return TRUE;
}
BOOLEAN
ResetBus(
IN PVOID HwDeviceExtension,
IN ULONG PathId
)
{
return TRUE;
}
BOOLEAN
StartIo(
IN PVOID DeviceExtension,
IN PSCSI_REQUEST_BLOCK pSrb
)
{
St_DeviceExt * pExt = (St_DeviceExt *)DeviceExtension;
ScsiPortNotification(RequestComplete,
DeviceExtension,
pSrb);
ScsiPortNotification(NextRequest,
DeviceExtension,
NULL);
return TRUE;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -