/*++

Copyright (c) 2000-2001  Microsoft Corporation

Module Name:

    driver.c

Abstract:

    This module implements routines that apply to the driver object including
    initialization and IRP dispatch routines.

--*/

#include "idex.h"

NTSTATUS
IdexDriverIrpReturnSuccess(
    IN PDEVICE_OBJECT DeviceObject,
    IN PIRP Irp
    )
/*++

Routine Description:

    This routine handles IRPs that should always return STATUS_SUCCESS.

Arguments:

    DeviceObject - Specifies the device object that the I/O request is for.

    Irp - Specifies the packet that describes the I/O request.

Return Value:

    Status of operation.

--*/
{
    Irp->IoStatus.Status = STATUS_SUCCESS;
    IoCompleteRequest(Irp, IO_NO_INCREMENT);

    return STATUS_SUCCESS;
}

VOID
IdexBugCheckWorker(
    IN ULONG FileAndLineCode,
    IN ULONG_PTR BugCheckParameter1
    )
/*++

Routine Description:

    This routine is a wrapper for KeBugCheckEx so that the generated code for
    IdexBugCheck is smaller.

Arguments:

    FileAndLineCode - Specifies the file and line identifiers as generated by
        the IdexBugCheck macro.

    BugCheckParameter1 - Specifies the first bug check parameter to KeBugCheckEx.

Return Value:

    None.

--*/
{
    KeBugCheckEx(PORT_DRIVER_INTERNAL, FileAndLineCode, BugCheckParameter1, 0, 0);
}
