30{
35
36
43
44
47
48
50 0,
51 &NtDeviceName,
53 0,
57 {
58 DPRINT1(
"Failed to create device object with status 0x%x\n",
Status);
60 }
61
62
65 {
66 DPRINT1(
"Failed to create symbolic link with status 0x%x\n",
Status);
69 }
70
71
89
92 &Chars,
93 sizeof(Chars));
95 {
96 DPRINT1(
"Failed to register protocol with status 0x%x\n",
Status);
100 }
101
102 DPRINT(
"NDISUIO: Loaded\n");
103
105}
#define FILE_DEVICE_SECURE_OPEN
#define NT_SUCCESS(StatCode)
VOID EXPORT NdisRegisterProtocol(OUT PNDIS_STATUS Status, OUT PNDIS_HANDLE NdisProtocolHandle, IN PNDIS_PROTOCOL_CHARACTERISTICS ProtocolCharacteristics, IN UINT CharacteristicsLength)
NTSTATUS NTAPI NduDispatchClose(PDEVICE_OBJECT DeviceObject, PIRP Irp)
NTSTATUS NTAPI NduDispatchCreate(PDEVICE_OBJECT DeviceObject, PIRP Irp)
NTSTATUS NTAPI NduDispatchDeviceControl(PDEVICE_OBJECT DeviceObject, PIRP Irp)
VOID NTAPI NduUnload(PDRIVER_OBJECT DriverObject)
NDIS_HANDLE GlobalProtocolHandle
LIST_ENTRY GlobalAdapterList
KSPIN_LOCK GlobalAdapterListLock
PDEVICE_OBJECT GlobalDeviceObject
#define InitializeListHead(ListHead)
#define KeInitializeSpinLock(sl)
static char DosDeviceName[DEVICE_SIZE]
#define NDIS_STATUS_SUCCESS
VOID NTAPI NduResetComplete(NDIS_HANDLE ProtocolBindingContext, NDIS_STATUS Status)
NDIS_STATUS NTAPI NduReceive(NDIS_HANDLE ProtocolBindingContext, NDIS_HANDLE MacReceiveContext, PVOID HeaderBuffer, UINT HeaderBufferSize, PVOID LookAheadBuffer, UINT LookaheadBufferSize, UINT PacketSize)
VOID NTAPI NduStatus(NDIS_HANDLE ProtocolBindingContext, NDIS_STATUS GeneralStatus, PVOID StatusBuffer, UINT StatusBufferSize)
VOID NTAPI NduOpenAdapterComplete(NDIS_HANDLE ProtocolBindingContext, NDIS_STATUS Status, NDIS_STATUS OpenStatus)
NTSTATUS NTAPI NduDispatchWrite(PDEVICE_OBJECT DeviceObject, PIRP Irp)
VOID NTAPI NduCloseAdapterComplete(NDIS_HANDLE ProtocolBindingContext, NDIS_STATUS Status)
VOID NTAPI NduTransferDataComplete(NDIS_HANDLE ProtocolBindingContext, PNDIS_PACKET Packet, NDIS_STATUS Status, UINT BytesTransferred)
#define NDIS_MAJOR_VERSION
VOID NTAPI NduReceiveComplete(NDIS_HANDLE ProtocolBindingContext)
VOID NTAPI NduUnbindAdapter(PNDIS_STATUS Status, NDIS_HANDLE ProtocolBindingContext, NDIS_HANDLE UnbindContext)
NDIS_STATUS NTAPI NduNetPnPEvent(NDIS_HANDLE ProtocolBindingContext, PNET_PNP_EVENT NetPnPEvent)
NTSTATUS NTAPI NduDispatchRead(PDEVICE_OBJECT DeviceObject, PIRP Irp)
VOID NTAPI NduBindAdapter(PNDIS_STATUS Status, NDIS_HANDLE BindContext, PNDIS_STRING DeviceName, PVOID SystemSpecific1, PVOID SystemSpecific2)
#define NDIS_MINOR_VERSION
VOID NTAPI NduRequestComplete(NDIS_HANDLE ProtocolBindingContext, PNDIS_REQUEST NdisRequest, NDIS_STATUS Status)
VOID NTAPI NduSendComplete(NDIS_HANDLE ProtocolBindingContext, PNDIS_PACKET Packet, NDIS_STATUS Status)
VOID NTAPI NduStatusComplete(NDIS_HANDLE ProtocolBindingContext)
NTSTATUS NTAPI IoCreateDevice(IN PDRIVER_OBJECT DriverObject, IN ULONG DeviceExtensionSize, IN PUNICODE_STRING DeviceName, IN DEVICE_TYPE DeviceType, IN ULONG DeviceCharacteristics, IN BOOLEAN Exclusive, OUT PDEVICE_OBJECT *DeviceObject)
VOID NTAPI IoDeleteDevice(IN PDEVICE_OBJECT DeviceObject)
NTSTATUS NTAPI IoCreateSymbolicLink(IN PUNICODE_STRING SymbolicLinkName, IN PUNICODE_STRING DeviceName)
NTSTATUS NTAPI IoDeleteSymbolicLink(IN PUNICODE_STRING SymbolicLinkName)
#define NDISUIO_DEVICE_NAME_NT
#define NDISUIO_DEVICE_NAME_DOS
#define IRP_MJ_DEVICE_CONTROL
STATUS_COMPLETE_HANDLER StatusCompleteHandler
TRANSFER_DATA_COMPLETE_HANDLER TransferDataCompleteHandler
RECEIVE_COMPLETE_HANDLER ReceiveCompleteHandler
PNP_EVENT_HANDLER PnPEventHandler
REQUEST_COMPLETE_HANDLER RequestCompleteHandler
SEND_COMPLETE_HANDLER SendCompleteHandler
RECEIVE_HANDLER ReceiveHandler
BIND_HANDLER BindAdapterHandler
RESET_COMPLETE_HANDLER ResetCompleteHandler
STATUS_HANDLER StatusHandler
UNBIND_HANDLER UnbindAdapterHandler
OPEN_ADAPTER_COMPLETE_HANDLER OpenAdapterCompleteHandler
CLOSE_ADAPTER_COMPLETE_HANDLER CloseAdapterCompleteHandler
#define RTL_CONSTANT_STRING(s)
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject