用Python调用一个DLL和用VC调用有什么不同么

请问我用Python调用一个DLL和用VC调用有什么不同么?我这里用Py调用和VC得到的返回值不同,因为要调用的DLL内部有许多文件操作,VC
调用成功,返回0,Py调用得到的是文件无效返回值1(没有DLL 的代码,只有简单的接口说明,Py脚本和VC的DLL放在同一个目录下执行,完全可
重现)。这个失败让我感觉似乎Py的环境和VC的调用环境有些微的不同,但是又不知道是哪里出了问题,如果谁了解的话,请帮助一下,谢谢。

我后来做了一个中间层DLL,在里面显示参数、当前路径什么的,发现都是正确的,但是那个第三天的DLL就是不工作
(因VC可以调用成功,因此第三方DLL提供者认为接口本身没有问题)

附:
要调用的那个接口DLL的定义:
__declspec(dllexport) DWORD ImportFile(const char *lpszName, PC_PARAM pParam);

试验的中间层DLL(也可以不用这个,但是结果是一样的,只要Py调就是返回失败)
extern "C" unsigned long CreateF(const char *lpszName        ,                                                          PC_PARAM pParam)   
{

        DWORD dwErrno=0;
        char Name[]="win";

        PC_PARAM para;

        dwErrno=ImportFile(Name,NULL);
        printf("%d, dwErrno=%d\r\n", sizeof(para), dwErrno);

        return dwErrno;
}

Python的调用(这里调用的是中间层的那个DLL,直接调用结果是一样的)
from ctypes import*
strName = c_char_p("win")
cdll.LoadLibrary('interface.dll');
nRet = cdll.interface.CreateF(strName ,  None);

VC的调用exe程序是这样的:
        DWORD dwErrno=0;
        char strName[]="win";

        dwErrno=ImportFile(strName,NULL);
        printf("%d, %d", sizeof(para), dwErrno);
VC调用ImportFile接口,返回值为0,发现文件正确产生

Python直接调用ImportFile接口或者调用CreateF中间层接口,返回值为1,发现文件没有产生。