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.
 
 
 
 
 
 

86 lines
2.4 KiB

/*************************************************************************
*
* ctxdd.h
*
* Prototypes for functions to perform kernel level I/O using file object.
*
* Copyright Microsoft Corporation, 1998
*
*
*************************************************************************/
/*
* Read file using a FileObject instead of a handle.
* If the caller does not specify a wait KEVENT, then this is
* a synchronous read operation. Otherwise, it is the caller's
* responsibility to wait on the specified event if necessary.
*/
NTSTATUS
CtxReadFile(
IN PFILE_OBJECT fileObject,
IN PVOID Buffer,
IN ULONG Length,
IN PKEVENT pEvent OPTIONAL,
OUT PIO_STATUS_BLOCK pIosb OPTIONAL,
OUT PIRP *ppIrp OPTIONAL
);
/*
* Write file using a FileObject instead of a handle.
* If the caller does not specify a wait KEVENT, then this is
* a synchronous read operation. Otherwise, it is the caller's
* responsibility to wait on the specified event if necessary.
*/
NTSTATUS
CtxWriteFile(
IN PFILE_OBJECT fileObject,
IN PVOID Buffer,
IN ULONG Length,
IN PKEVENT pEvent OPTIONAL,
OUT PIO_STATUS_BLOCK pIosb OPTIONAL,
OUT PIRP *ppIrp OPTIONAL
);
/*
* DeviceIoControl using a FileObject instead of a handle.
* If the caller does not specify a wait KEVENT, then this is
* a synchronous read operation. Otherwise, it is the caller's
* responsibility to wait on the specified event if necessary.
*/
NTSTATUS
CtxDeviceIoControlFile(
IN PFILE_OBJECT fileObject,
IN ULONG IoControlCode,
IN PVOID InputBuffer OPTIONAL,
IN ULONG InputBufferLength,
OUT PVOID OutputBuffer OPTIONAL,
IN ULONG OutputBufferLength,
IN BOOLEAN InternalDeviceIoControl,
IN PKEVENT pEvent OPTIONAL,
OUT PIO_STATUS_BLOCK pIosb OPTIONAL,
OUT PIRP *ppIrp OPTIONAL
);
/*
* DeviceIoControl using a FileObject instead of a handle.
* If the caller does not specify a wait KEVENT, then this is
* a synchronous read operation. Otherwise, it is the caller's
* responsibility to wait on the specified event if necessary.
*/
NTSTATUS
CtxInternalDeviceIoControlFile(
IN PFILE_OBJECT FileObject,
IN PVOID IrpParameters,
IN ULONG IrpParametersLength,
IN PVOID MdlBuffer OPTIONAL,
IN ULONG MdlBufferLength,
IN UCHAR MinorFunction,
IN PKEVENT pEvent OPTIONAL,
OUT PIO_STATUS_BLOCK pIosb OPTIONAL,
OUT PIRP *ppIrp OPTIONAL
);