apierr.cpp

来自「direct show」· C++ 代码 · 共 42 行

CPP
42
字号
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
//extern "C"
//{
unsigned int g_apierr=0;
static FILE * fh=0;
static CRITICAL_SECTION cs;

BOOL init_apierr()
{
 InitializeCriticalSection(&cs);
 fh=fopen("err_rec.txt","w");
 if (!fh) return FALSE;
 else return TRUE;
}

void exit_apierr()
{
if (fh)
   fclose(fh);
DeleteCriticalSection(&cs);
}

int apierr(unsigned int err,char * pMsg,BOOL closefile)
{
 EnterCriticalSection(&cs);
 if (fh)
 {
 fprintf(fh,"first errcode=%d:%s\n",err,pMsg);
 if (closefile)
  {
     fclose(fh);
     fh=0;
  }
 }

 g_apierr=err;
 LeaveCriticalSection(&cs);
 return  g_apierr;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?