Windows 当我加载我的文件磁盘驱动程序时,我得到了错误\u PROC\u NOT\u FOUND(127)错误代码

Windows 当我加载我的文件磁盘驱动程序时,我得到了错误\u PROC\u NOT\u FOUND(127)错误代码,windows,winapi,driver,Windows,Winapi,Driver,我想基于FileDisk-17开源项目开发一个加密虚拟磁盘 以下是我的解决方案: 在IPR\u MJ\u READ中,当ZwReadFile返回时,我使用函数“decrypteddata”对ZwReadFile读取的数据进行解密 在IPR_MJ_WRITE中,在调用ZwWriteFile之前,我使用函数“EncryptData”对将写入磁盘的数据进行加密 我将EncryptData和DecryptData函数放在一个C源文件中 问题是,;当我加载我的驱动程序时,我得到了ERROR\u PROC\

我想基于FileDisk-17开源项目开发一个加密虚拟磁盘

以下是我的解决方案:

IPR\u MJ\u READ
中,当
ZwReadFile
返回时,我使用函数“
decrypteddata
”对
ZwReadFile
读取的数据进行解密

IPR_MJ_WRITE
中,在调用
ZwWriteFile
之前,我使用函数“
EncryptData
”对将写入磁盘的数据进行加密

我将
EncryptData
DecryptData
函数放在一个C源文件中

问题是,;当我加载我的驱动程序时,我得到了
ERROR\u PROC\u NOT\u FOUND(127)
错误代码 每次,即使在
EncryptData
DecryptData
函数中也只有一行

谁能告诉我是什么引起的以及如何修复

filedisk.c
加密

    VOID EncryptData(PUCHAR src, PUCHAR dst, ULONG length)
{
    BF_LONG data[2];
    BF_KEY  key;

    BF_set_key(&key, pCryptoInformation->CryptoKey, sizeof(pCryptoInformation->CryptoKey));
}

VOID DecryptData(PUCHAR src, PUCHAR dst, ULONG length)
{
    BF_LONG data[2];
    BF_KEY  key;

    BF_set_key(&key, pCryptoInformation->CryptoKey, sizeof(pCryptoInformation->CryptoKey));
}

crypto.c
是否静态链接到驱动程序?您是否使用了正确的构建工具,即Windows DDK?您是否成功构建了未修改的项目?我在源文件的源部分添加了“crypto.c”,如下所示:“SOURCES=filedisk.c filedisk.rc bf_skey.c bf_enc.c crypto.c”;我使用DDK的构建工具,DDK的版本是7600.16385.1。因此,如果您调用EncryptData和DecryptData,那么驱动程序是否正确加载?函数是否正确标记为不可分页?您是否成功构建并加载了未修改的项目?是的,我可以成功加载未修改的项目。昨天,我评论了一条预处理指令:#pragma code_seg(),当我加载驱动程序时,系统崩溃,页面错误代码为非页面错误代码。我取消了#pragma code_seg()预处理指令的注释,并删除了EncryptData和DecryptData函数中的所有代码,驱动程序可以成功加载。这是寻呼问题吗?
    VOID EncryptData(PUCHAR src, PUCHAR dst, ULONG length)
{
    BF_LONG data[2];
    BF_KEY  key;

    BF_set_key(&key, pCryptoInformation->CryptoKey, sizeof(pCryptoInformation->CryptoKey));
}

VOID DecryptData(PUCHAR src, PUCHAR dst, ULONG length)
{
    BF_LONG data[2];
    BF_KEY  key;

    BF_set_key(&key, pCryptoInformation->CryptoKey, sizeof(pCryptoInformation->CryptoKey));
}