IN PIRP Irp)
{
IO_STATUS_BLOCK IoStatus;
- PEXTENDED_IO_STACK_LOCATION IoStack;
+ PIO_STACK_LOCATION IoStack;
UNICODE_STRING FileName;
PFILE_OBJECT FileObject;
PFILE_OBJECT RelatedFileObject;
TRACE("Entered\n");
InitializeListHead(&DeferredList);
- IoStack = (PEXTENDED_IO_STACK_LOCATION)IoGetCurrentIrpStackLocation(Irp);
+ IoStack = IoGetCurrentIrpStackLocation(Irp);
FileObject = IoStack->FileObject;
RelatedFileObject = FileObject->RelatedFileObject;
FileName = FileObject->FileName;
if (AccessGranted)
{
AccessState->PreviouslyGrantedAccess |= GrantedAccess;
- AccessState->RemainingDesiredAccess &= ~(GrantedAccess | 0x2000000);
+ AccessState->RemainingDesiredAccess &= ~(GrantedAccess | MAXIMUM_ALLOWED);
}
ObjectTypeName.Buffer = L"NamedPipe";
if (!(Parameters->TimeoutSpecified) ||
!(Parameters->MaximumInstances) ||
- (Parameters->DefaultTimeout.HighPart >= 0))
+ (Parameters->DefaultTimeout.QuadPart >= 0))
{
Status = STATUS_INVALID_PARAMETER;
goto Quickie;
goto Quickie;
}
- if (!Parameters->NamedPipeType && Parameters->ReadMode == 1)
+ if (Parameters->NamedPipeType == FILE_PIPE_BYTE_STREAM_TYPE &&
+ Parameters->ReadMode == FILE_PIPE_MESSAGE_MODE)
{
Status = STATUS_INVALID_PARAMETER;
goto Quickie;
NpFsdCreateNamedPipe(IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp)
{
- PEXTENDED_IO_STACK_LOCATION IoStack;
+ PIO_STACK_LOCATION IoStack;
PFILE_OBJECT FileObject;
PFILE_OBJECT RelatedFileObject;
USHORT Disposition, ShareAccess;
InitializeListHead(&DeferredList);
Process = IoGetRequestorProcess(Irp);
- IoStack = (PEXTENDED_IO_STACK_LOCATION) IoGetCurrentIrpStackLocation(Irp);
+ IoStack = IoGetCurrentIrpStackLocation(Irp);
FileObject = IoStack->FileObject;
RelatedFileObject = FileObject->RelatedFileObject;