Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

72 lines
1.2 KiB

#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