基本信息
源码名称:windriver10.21 PCI kernel驱动程序例程
源码大小:12.00M
文件格式:.zip
开发语言:C/C++
更新时间:2025-12-13
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 1 元 
   源码介绍
windriver10.21 PCI kernel驱动程序例 win7下可用

/* KP_KPZ0_Call is called when WD_KernelPlugInCall() is called from the user mode */
void __cdecl KP_KPZ0_Call(PVOID pDrvContext, WD_KERNEL_PLUGIN_CALL *kpCall,
    BOOL fIsKernelMode)
{
    KP_KPZ0_Trace("KP_KPZ0_Call entered. Message: 0x%lx\n", kpCall->dwMessage);

    kpCall->dwResult = KP_KPZ0_STATUS_OK;

    switch (kpCall->dwMessage)
    {
    case KP_KPZ0_MSG_VERSION:  /* Get the version of the Kernel PlugIn driver */
        {
            DWORD dwVer = 100;
            KP_KPZ0_VERSION *pUserKPVer = (KP_KPZ0_VERSION *)(kpCall->pData);

            COPY_TO_USER_OR_KERNEL(&pUserKPVer->dwVer, &dwVer, sizeof(DWORD),
                fIsKernelMode);
            COPY_TO_USER_OR_KERNEL(pUserKPVer->cVer, "kp_kpz0 V1.00",
                sizeof("kp_kpz0 V1.00") 1, fIsKernelMode);
            kpCall->dwResult = KP_KPZ0_STATUS_OK;
        }
        break ;
    case KP_KPZ0_MSG_DATA:  /* Get data of the Kernel PlugIn driver */
if(!IsRingBufEmpty()) {
COPY_TO_USER_OR_KERNEL(kpCall->pData, &Tail->dwData[0],
FIFOHF*sizeof(DWORD), fIsKernelMode);
Tail = Tail->ptr;
}
kpCall->dwResult = KP_KPZ0_STATUS_OK;
break;
    default:
        kpCall->dwResult = KP_KPZ0_STATUS_MSG_NO_IMPL;
    }
    
    /* NOTE: You can modify the messages above and/or add your own
             Kernel PlugIn messages.
             When changing/adding messages, be sure to also update the messages
             definitions in ../kpz0_lib.h. */
}