您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ DosFreeMem函数代码示例

51自学网 2021-06-01 20:29:27
  C++
这篇教程C++ DosFreeMem函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中DosFreeMem函数的典型用法代码示例。如果您正苦于以下问题:C++ DosFreeMem函数的具体用法?C++ DosFreeMem怎么用?C++ DosFreeMem使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了DosFreeMem函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: SysPutEA

unsigned long SysPutEA(unsigned char *name,                           unsigned long numargs,                           RXSTRING args[],                           char *queuename,                           RXSTRING *retstr){    unsigned long rc;                      /* Ret code                   */    unsigned long act;                     /* open action                */    void          *fealist;                /* fealist buffer             */    EAOP2         eaop;                    /* eaop structure             */    PFEA2         pfea;                    /* pfea structure             */    HFILE         handle;                  /* file handle                */    if (numargs != 3 || !RXVALIDSTRING(args[0]) || !RXVALIDSTRING(args[1]))            return INVALID_ROUTINE;    if (rc = DosOpen2(args[0].strptr, &handle, &act,                      0L, 0, OPEN_ACTION_OPEN_IF_EXISTS,                      OPEN_ACCESS_READWRITE + OPEN_SHARE_DENYWRITE +                      OPEN_FLAGS_FAIL_ON_ERROR + OPEN_FLAGS_WRITE_THROUGH,                      NULL)) {        RETVAL(rc)    }    if (DosAllocMem((PPVOID)&fealist, 0x00010000L, AllocFlag)) {        BUILDRXSTRING(retstr, ERROR_NOMEM);        return VALID_ROUTINE;    }    eaop.fpFEA2List = (PFEA2LIST)fealist;/* Set memory for the FEA     */    eaop.fpGEA2List = NULL;              /* GEA is unused              */    pfea = &eaop.fpFEA2List->list[0];    /* point to first FEA         */    pfea->fEA = '/0';                    /* set the flags              */                                         /* Size of FEA name field     */    pfea->cbName = (BYTE)args[1].strlength;                                         /* Size of Value for this one */    pfea->cbValue = (SHORT)args[2].strlength;                                         /* Set the name of this FEA   */    strcpy((PSZ)pfea->szName, args[1].strptr);                                         /* Set the EA value           */    memcpy((PSZ)pfea->szName+(pfea->cbName+1), args[2].strptr,        args[2].strlength);    pfea->oNextEntryOffset = 0;          /* no next entry              */    eaop.fpFEA2List->cbList =            /* Set the total size var     */        sizeof(ULONG) + sizeof(FEA2) + pfea->cbName + pfea->cbValue;                                         /* set the file info          */    rc = DosSetFileInfo(handle, 2, (PSZ)&eaop, sizeof(EAOP2));    DosClose(handle);                    /* Close the File             */    DosFreeMem(fealist);                 /* Free the memory            */    RETVAL(rc)}
开发者ID:ErisBlastar,项目名称:osfree,代码行数:55,


示例2: test3

static void test3( void ){    printf("***** Test3: Copy to source memory which is destination memory "           "of other source memory.../n");    static const char *p1Str = "6789067890";    static const char *p2Str = "1234512345";    static const char *p3Str = "1234567890";    char *p1;    char *p2;    char *p3;    DosAllocMem(( PPVOID )&p1, ALLOC_SIZE, fPERM | PAG_COMMIT );    strcpy( p1, p3Str);    p2 = copyOnWrite( p1, COPY_SIZE );    p3 = copyOnWrite( p2, COPY_SIZE );    printf("p1 = %p, p2 = %p, p3 = %p/n", p1, p2, p3 );    printf("p1 = [%s], p2 = [%s], p3 = [%s]/n", p1, p2, p3 );    printf("Copying %.5s to ( p2 + 5 )/n", p2Str );    memcpy( p2 + 5, p2Str, 5 );    printf("Copying %.5s to p1/n", p1 + 5 );    memcpy( p1, p1 + 5, 5 );    printf("p1 = [%s], p2 = [%s], p3 = [%s]/n", p1, p2, p3 );    fprintf( stderr, "Test3: ");    if( memcmp( p1, p1Str, strlen( p1Str ))        || memcmp( p2, p2Str, strlen( p2Str ))        || memcmp( p3, p3Str, strlen( p3Str )))        fprintf( stderr, "Failed/n");    else        fprintf( stderr, "Succeeded/n");    DosFreeMem( p3 );    DosFreeMem( p2 );    DosFreeMem( p1 );}
开发者ID:komh,项目名称:os2codes,代码行数:42,


示例3: usalo_freebuf

static voidusalo_freebuf(SCSI *usalp){	if (usalp->bufbase && DosFreeMem(usalp->bufbase)) {		fprintf((FILE *)usalp->errfile,		"Cannot free buffer memory for ASPI-Router!/n"); /* Free our memory buffer if not already done */	}	if (buffer == usalp->bufbase)		buffer = NULL;	usalp->bufbase = NULL;}
开发者ID:Distrotech,项目名称:cdrkit,代码行数:11,


示例4: _MD_MemUnmap

PRStatus _MD_MemUnmap(void *addr, PRUint32 len){    PRUint32 rv;    /* we just have to trust that addr & len are those used by MemMap */    rv = DosFreeMem(addr);    if (rv) {        PR_SetError(PR_INVALID_ARGUMENT_ERROR, rv);        return PR_FAILURE;    }    return PR_SUCCESS;}
开发者ID:ppbao,项目名称:mozilla-os2,代码行数:12,


示例5: main

void main(void) {        initFileTable();        initProcess(0,0);        initMemory();                APIRET rc;        PVOID pv;        rc = DosAllocSharedMem(&pv, "//SHAREMEM//Ivan", 8192, PAG_COMMIT|PAG_READ|PAG_WRITE);        if(rc==0)                rc = DosFreeMem(pv);        printf("rc=%d/n",rc);}
开发者ID:ErisBlastar,项目名称:osfree,代码行数:12,


示例6: FreeRxString

// FreeRxString -- Free a REXX string.////      Return: none//void FreeRxString(    PRXSTRING rxString){    if (        rxString != NULL &&        rxString->strptr != NULL)    {        DosFreeMem(rxString->strptr);        rxString->strptr = NULL;        rxString->strlength = 0;    }}
开发者ID:OS2World,项目名称:LIB-REXX-RexxIPC,代码行数:16,


示例7: ReadConfigFile

int ReadConfigFile(HWND hwnd, char szFileSpec[],char **ppBuffer)  {  ULONG ulStatus;  HFILE hFile;  FILESTATUS3 stFileInfo;  int iCount;  char szMessage[CCHMAXPATH];  APIRET rc;  if ((rc = DosOpen(szFileSpec,&hFile,&ulStatus,0L,0,1,0x0022,(PEAOP2)0L)) != 0)    {    if (hwnd != NULLHANDLE)      {      sprintf(szMessage,"Could not open %s - Error = %u",szFileSpec,rc);      MessageBox(HWND_DESKTOP,szMessage);      }    return(0);    }  DosQueryFileInfo(hFile,1,&stFileInfo,sizeof(FILESTATUS3));  iCount = stFileInfo.cbFile;  if ((rc = DosAllocMem((PVOID)ppBuffer,(iCount + 10),(PAG_COMMIT | PAG_READ | PAG_WRITE))) != NO_ERROR)    {    if (hwnd != NULLHANDLE)      {      sprintf(szMessage,"Unable to Allocate memory to read %s - %u",szFileSpec,rc);      MessageBox(HWND_DESKTOP,szMessage);      }    iCount = 0;    }  if (DosRead(hFile,(PVOID)*ppBuffer,iCount,(ULONG *)&iCount) != 0)    {    DosFreeMem(*ppBuffer);    iCount = 0;    }  else    {    /*    ** ignore/remove EOF character, if present    */    if ((*ppBuffer)[(iCount) - 1] == '/x1a')      iCount--;    /*    **  Add LF and CR to end of file, if not already there    */    if ((*ppBuffer)[iCount - 1] != '/x0a')      {      (*ppBuffer)[(iCount)++] = '/x0d';      (*ppBuffer)[(iCount)++] = '/x0a';      }    }  DosClose(hFile);  return(iCount);  }
开发者ID:OS2World,项目名称:APP-COMM-ComScope,代码行数:53,


示例8: MemHeapTerm

BOOL MemHeapTerm(VOID)  {  if ( hp )    {    return !(_uclose(hp) ||             _udestroy(hp, _FORCE) ||             DosSubUnsetMem(pbasemem) ||             DosFreeMem(pbasemem));    } /* endif */  closeLogFile();  return FALSE;  }
开发者ID:OS2World,项目名称:UTIL-FILE-DataSeeker,代码行数:12,


示例9: Clipper_RestoreClipboard

VOID Clipper_RestoreClipboard( VOID ){ // Переносим в Clipboard предыдущие данные. CHAR Mozilla_internal_format[] = "text/unicode"; PutStringIntoClipboard( Enhancer.Application,                         Clipper.RTSettings.Clipboard_data_Text,                         Clipper.RTSettings.Clipboard_data_UCS2,                         Clipper.RTSettings.Clipboard_data_UCS2_length,                         Mozilla_internal_format ); // Освобождаем память. if( Clipper.RTSettings.Clipboard_data_Text != NULL ) { DosFreeMem( Clipper.RTSettings.Clipboard_data_Text ); Clipper.RTSettings.Clipboard_data_Text = NULL; } if( Clipper.RTSettings.Clipboard_data_UCS2 != NULL ) { DosFreeMem( Clipper.RTSettings.Clipboard_data_UCS2 ); Clipper.RTSettings.Clipboard_data_UCS2 = NULL; } Clipper.RTSettings.Clipboard_data_Text_length = 0; Clipper.RTSettings.Clipboard_data_UCS2_length = 0; // Возврат. return;}
开发者ID:OS2World,项目名称:UTIL-WPS-Nice_OS2_Enhancer,代码行数:21,


示例10: _MD_MemMap

void * _MD_MemMap(PRFileMap *fmap, PROffset64 offset, PRUint32 len){    PRUint32 rv;    void *addr;    /* prevent mappings beyond EOF + remainder of page */    if (offset + len > fmap->md.maxExtent) {        PR_SetError(PR_INVALID_ARGUMENT_ERROR, 0);        return NULL;    }    if (PR_Seek64(fmap->fd, offset, PR_SEEK_SET) == -1) {        return NULL;    }    /* try for high memory, fall back to low memory if hi-mem fails */#if defined(MOZ_OS2_HIGH_MEMORY)    rv = DosAllocMem(&addr, len, OBJ_ANY | PAG_COMMIT | PAG_READ | PAG_WRITE);    if (rv)#endif    {        rv = DosAllocMem(&addr, len, PAG_COMMIT | PAG_READ | PAG_WRITE);        if (rv) {            PR_SetError(PR_OUT_OF_MEMORY_ERROR, rv);            return NULL;        }    }    if (PR_Read(fmap->fd, addr, len) == -1) {        DosFreeMem(addr);        return NULL;    }    /* don't permit writes if readonly */    if (fmap->prot == PR_PROT_READONLY) {        rv = DosSetMem(addr, len, PAG_READ);        if (rv) {            DosFreeMem(addr);            PR_SetError(PR_UNKNOWN_ERROR, rv);            return NULL;        }    }    return addr;}
开发者ID:ppbao,项目名称:mozilla-os2,代码行数:40,


示例11: helpProc

MRESULT EXPENTRY helpProc( HWND hwndDlg, ULONG msg,			    MPARAM mp1, MPARAM mp2 ){LONG bytes;IPT ipt;switch ( msg )   {   case WM_INITDLG:      WinSendMsg (WinWindowFromID(hwndDlg, ID_HELPENTRY),		  MLM_SETTEXTLIMIT,		  MPFROMLONG (30000L), (MPARAM) 0L);      WinSendMsg(WinWindowFromID(hwndDlg, ID_HELPENTRY),		 MLM_SETTEXTCOLOR,		 MPFROMLONG (CLR_DARKBLUE), 0L);      WinSendMsg(WinWindowFromID(hwndDlg, ID_HELPENTRY),		 MLM_SETBACKCOLOR,		 MPFROMLONG (CLR_WHITE), 0L);      bytes = loadFile("DataPad.DOC");      if( bytes <= 0 )	 {	 DosFreeMem(iobuf);	 WinDismissDlg( hwndDlg, TRUE );	 }      WinSendMsg(WinWindowFromID(hwndDlg, ID_HELPENTRY),		 MLM_SETIMPORTEXPORT,		 (MPARAM) iobuf,		 MPFROMLONG(bytes));      ipt = -1;      WinSendMsg(WinWindowFromID(hwndDlg, ID_HELPENTRY),		 MLM_IMPORT,		 (MPARAM)&ipt,		 MPFROMLONG(bytes));      DosFreeMem(iobuf);      return WinDefDlgProc( hwndDlg, msg, mp1, mp2 );   default :      return WinDefDlgProc( hwndDlg, msg, mp1, mp2 );   }}
开发者ID:OS2World,项目名称:APP-DATABASE-Datapad,代码行数:40,


示例12: test6

static void test6( void ){    printf("***** Test6: Decommit source memory.../n");    static const char *p2Str = "6789067890";    static const char *p3Str = "1234567890";    char *p1;    char *p2;    char *p3;    DosAllocMem(( PPVOID )&p1, ALLOC_SIZE, fPERM | PAG_COMMIT );    strcpy( p1, p3Str);    p2 = copyOnWrite( p1, COPY_SIZE );    p3 = copyOnWrite( p2, COPY_SIZE );    printf("p1 = %p, p2 = %p, p3 = %p/n", p1, p2, p3 );    printf("p1 = [%s], p2 = [%s], p3 = [%s]/n", p1, p2, p3 );    printf("Decommiting p1/n");    printf("DosSetMem( p1 ) = %ld/n",           DosSetMem( p1, ALLOC_SIZE, PAG_DECOMMIT ));    printf("Copying %.5s to p2/n", p2 + 5 );    memcpy( p2, p2 + 5, 5 );    printf("p2 = [%s], p3 = [%s]/n", p2, p3 );    fprintf( stderr, "Test6: ");    if( memcmp( p2, p2Str, strlen( p2Str ))        || memcmp( p3, p3Str, strlen( p3Str )))        fprintf( stderr, "Failed/n");    else        fprintf( stderr, "Succeeded/n");    DosFreeMem( p3 );    DosFreeMem( p2 );    DosFreeMem( p1 );}
开发者ID:komh,项目名称:os2codes,代码行数:40,


示例13: CBZSave

//save current settings to the given ini fileBOOL CBZSave(HINI hIni, char szClass[], PVOID pData, char szCustomName[]){    PLUGINSHARE *pPluginShare;    char szShareName[32];    char szSaveName[128];    pPluginShare = (PLUGINSHARE *) pData;    //if null, this is a default apply, so load shared memory.    if (pPluginShare == NULL)    {        strcpy(szShareName, PLUGIN_SHARE);        strcat(szShareName, szClass);        // if shared mem is not available, try allocating temporary space!        if (DosGetNamedSharedMem((PPVOID) & pPluginShare, szShareName, PAG_READ | PAG_WRITE) != NO_ERROR)        {            //try Allocating temporary space for the plugin data so we can write to the ini file            if (DosAllocMem((PPVOID) & pPluginShare,                            sizeof(PLUGINSHARE),                            PAG_READ | PAG_WRITE | PAG_COMMIT) != NO_ERROR)                return (FALSE);     //No Good... can't save.        }        //write pPluginShare to the ini file!        strcpy(szSaveName, szClass);        strcat(szSaveName, "_CBZLINESPlugin");        PrfWriteProfileData(hIni,                            "UserOptionsData",                            szSaveName,                            pPluginShare,                            sizeof(PLUGINSHARE));        DosFreeMem(pPluginShare);    }    else    {        strcpy(szSaveName, szCustomName);        strcat(szSaveName, "_");        strcat(szSaveName, szClass);        strcat(szSaveName, "_CBZLINESPlugin");        PrfWriteProfileData(hIni,                            "CustomOptionsData",                            szSaveName,                            pPluginShare,                            sizeof(PLUGINSHARE));    }    return (TRUE);}
开发者ID:OS2World,项目名称:UTIL-WPS-CandyBarz,代码行数:53,


示例14: load

/*@ XBitmap :: ReleaseFilterStruct (XBitmapFilter * params)@group loading/saving a bitmap@remarks Released bitmap-filters created by XBitmap :: GetImportFilter/GetExportFilter and XGLibFileDialog@parameters    <t '
C++ DosFreeModule函数代码示例
C++ DosDevIOCtl函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。