ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 디바이스 드라이버
    Device Driver 2009. 4. 6. 23:11
    네트워크 디바이스 드라이버
        NDIS(Network Driver Interface Specification) 드라이버


    멀티미디어를 위한 Direct Show 필터 드라이버
        WDM Kernel Stream Driver


    DDK(Device Driver Development Kit)
    XP 버전 이후의 DDK들은 컴파일러를 포함하고 있기 때문에 별도의 컴파일러를 설치하지 않아도 빌드가 가능하다.
    WDK(Windows Development Kit)
    Vista 전용 DDK는 따로 배포되지 않고 Windows Vista(6000), Windows Server 2008(6001)부터는 WDK로 명칭이 통일되었으며, 이 WDK 안에는 2000, XP, Vista, 2008 빌드 환경이 모두 포함되어 있다.


    subsystem
    WINDOWS
    CONSOLE
    NATIVE

    RtlInitUnicodeString()
    RtlCopyMemory()

    NtStatus
    STATUS_SUCCESS
    STATUS_NOT_SUPPORTED
    STATUS_UNSUCCESSFUL
    STATUS_BUFFER_TOO_SMALL

    DRIVER_OBJECT
    IRP_MJ_CLOSE
    IRP_MJ_CREATE
    IRP_MJ_DEVICE_CONTROL
    IRP_MJ_READ
    IRP_MJ_WRITE

    on DriverEntry
    디바이스 드라이버가 메모리에 상주할 때 호출되는 함수

    IRP_MJ_PNP

    IoCreateSymbolicLink()

    on .._Unload
    IoDeleteSymbolicLink()

    on ..._AddDevice
    IoCreateDevice()
    디바이스 오브젝트를 생성한다.
    IoAttachDeviceToDeviceStack()

    on .._PnpDispatch
    IRP_MN_REMOVE_DEVICE

    IoGetCurrentIrpStackLocation()
    IoSkipCurrentIrpStackLocation()
    IoCallDriver()

    IoDetachDevice()
    IoDeleteDevice()

    Example_Write()
    IoCompleteRequest()
    IO_NO_INCREMENT

    참조 사이트:

Designed by Tistory.