73 lines
1.2 KiB
C
73 lines
1.2 KiB
C
|
#ifndef _MPLIB_H_
|
||
|
#define _MPLIB_H_
|
||
|
|
||
|
#include <ntddk.h>
|
||
|
#include <ntddstor.h>
|
||
|
#include "ntddscsi.h"
|
||
|
|
||
|
|
||
|
//
|
||
|
// Functions exported by mplib
|
||
|
//
|
||
|
VOID
|
||
|
MPLIBSendDeviceIoControlSynchronous(
|
||
|
IN ULONG IoControlCode,
|
||
|
IN PDEVICE_OBJECT TargetDeviceObject,
|
||
|
IN PVOID InputBuffer OPTIONAL,
|
||
|
IN OUT PVOID OutputBuffer OPTIONAL,
|
||
|
IN ULONG InputBufferLength,
|
||
|
IN ULONG OutputBufferLength,
|
||
|
IN BOOLEAN InternalDeviceIoControl,
|
||
|
OUT PIO_STATUS_BLOCK IoStatus
|
||
|
);
|
||
|
|
||
|
|
||
|
NTSTATUS
|
||
|
MPLibSendPassThroughDirect(
|
||
|
IN PDEVICE_OBJECT DeviceObject,
|
||
|
IN PSCSI_PASS_THROUGH_DIRECT ScsiPassThrough,
|
||
|
IN ULONG InputBufferLength,
|
||
|
IN ULONG OutputBufferLength
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
MPLIBGetDescriptor(
|
||
|
IN PDEVICE_OBJECT DeviceObject,
|
||
|
IN PSTORAGE_PROPERTY_ID PropertyId,
|
||
|
OUT PSTORAGE_DESCRIPTOR_HEADER *Descriptor
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
MPLibReleaseQueue(
|
||
|
IN PDEVICE_OBJECT ChildDevice
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
MPLibSendTUR(
|
||
|
IN PDEVICE_OBJECT TargetDevice
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
MPathDebugPrint(
|
||
|
ULONG DebugPrintLevel,
|
||
|
PCCHAR DebugMessage,
|
||
|
...
|
||
|
);
|
||
|
|
||
|
|
||
|
#if 1
|
||
|
|
||
|
#define DEBUG_BUFFER_LENGTH 255
|
||
|
extern UCHAR DebugBuffer[];
|
||
|
extern ULONG MPathDebug;
|
||
|
|
||
|
#define MPDebugPrint(x) MPathDebugPrint x
|
||
|
#else
|
||
|
#define MPDebugPrint(x)
|
||
|
#endif
|
||
|
|
||
|
|
||
|
extern ULONG DontLoad;
|
||
|
|
||
|
#endif
|