⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 coredll.c

📁 wince下的源代码集合打包
💻 C
字号:
/* Copyright (c) 1995-2000 Microsoft Corporation.  All rights reserved. */#include <windows.h>#include <coredll.h>#include <..\..\gwe\inc\dlgmgr.h>HANDLE hInstCoreDll;#ifdef DEBUGDBGPARAM dpCurSettings = { TEXT("Coredll"), {    TEXT("FixHeap"),    TEXT("LocalMem"),  TEXT("Mov"),       TEXT("SmallBlock"),	TEXT("VirtMem"),    TEXT("Devices"),   TEXT("Undefined"), TEXT("Undefined"),	TEXT("Stdio"),   TEXT("Stdio HiFreq"), TEXT("Shell APIs"), TEXT("Imm"),	TEXT("Undefined"),  TEXT("Undefined"), TEXT("Undefined"), TEXT("Undefined") },	0x00000000 };#endifsize_t mbstowcs(wchar_t *wcstr, const char *mbstr, size_t count) {	int	RetVal;	if (NULL == wcstr) {		// Determine how many characters are required		RetVal = MultiByteToWideChar(CP_ACP, 0, mbstr, -1, NULL, 0);		if (0 == RetVal) {			RetVal = -1;		} else {			// MultiByteToWideChar includes the terminator.			RetVal = RetVal--;		}		return RetVal;	}	RetVal = MultiByteToWideChar(CP_ACP, 0, mbstr, (strlen (mbstr) < count)? -1 : count, wcstr, count);		// Fix up return code.  MultiByteToWideChar returns 0 on error	// mbstowcs should return -1.	if ((0 == RetVal) && GetLastError()) {		RetVal = -1;	} else if (RetVal && (TEXT('\0') == wcstr[RetVal - 1])) {		// MultiByteToWideChar returned length includes the null.  mbstowcs does not		RetVal--;	}	return (size_t)RetVal;}size_t wcstombs(char *mbstr, const wchar_t *wcstr, size_t count) {	int	RetVal;	if (NULL == mbstr) {		RetVal = WideCharToMultiByte(CP_ACP, 0, wcstr, -1, NULL, 0, NULL, NULL);		if (0 == RetVal) {			RetVal = -1;		} else {			RetVal--;		}		return RetVal;	}	RetVal = WideCharToMultiByte(CP_ACP, 0, wcstr, (wcslen (wcstr) < count)? -1 : count, mbstr, count, NULL, NULL);	// Fix up return code.  WideCharToMultiByte returns 0 on error	// wcstombs should return -1.	if ((0 == RetVal) && GetLastError()) {		RetVal = -1;	} else if (RetVal && ('\0' == mbstr[RetVal - 1])) {		// WideCharToMultiByte returned length includes the null.  wcstombs does not		RetVal--;	}	return (size_t)RetVal;}LPVOID *Win32Methods;LPVOID *pFns;DWORD bAllKMode;DWORD bProfilingKernel;void InitLocale(void);BOOL Imm_DllEntry(HANDLE hinstDll, DWORD dwReason, LPVOID lpvReserved);BOOL WINAPI _CRTDLL_INIT(HANDLE hinstDll, DWORD dwReason, LPVOID lpreserved);#ifdef WINCECODETESTDWORD ProfileInit(void);static BOOL FirstTime = TRUE;#endifBOOL WINAPI CoreDllInit (HANDLE  hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {#ifdef WINCECODETEST	if (FirstTime)	{		ProfileInit();		FirstTime = FALSE;	}#endif		hInstCoreDll = hinstDLL;	if (GetCurrentProcessIndex()) {	    if (fdwReason == DLL_PROCESS_ATTACH) {			BOOL IsAPIReady(DWORD hAPI);	    	GetRomFileInfo(3,(LPWIN32_FIND_DATA)&Win32Methods,(DWORD)&bAllKMode);	    	GetRomFileInfo(4,(LPWIN32_FIND_DATA)&pFns, 0);	    	GetRomFileInfo(5,(LPWIN32_FIND_DATA)&bProfilingKernel, 0);	        DEBUGREGISTER(hinstDLL);	        if(!LMemInit())	           DEBUGCHK(0);   			InitLocale();			Imm_DllEntry(hinstDLL, fdwReason, lpvReserved);			if (IsAPIReady(SH_WMGR)) {#define DIALOGCLASSNAME TEXT("Dialog")				WNDCLASS  wc;				wc.style         = 0;//CS_SYSTEMCLASS/*CS_HREDRAW | CS_VREDRAW*/;				wc.lpfnWndProc   = xxx_DefDlgProcW;				wc.cbClsExtra    = 0;				wc.cbWndExtra    = sizeof(DLG1);				wc.hInstance     = hinstDLL;				wc.hIcon         = NULL;				wc.hCursor       = NULL;				wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);				wc.lpszMenuName  = NULL;				wc.lpszClassName = DIALOGCLASSNAME;				RegisterClass(&wc);			}		} else if ( fdwReason == DLL_THREAD_ATTACH) {			Imm_DllEntry(hinstDLL, fdwReason, lpvReserved);		} else if (fdwReason == DLL_THREAD_DETACH) {	    	LPVOID pBuf;			Imm_DllEntry(hinstDLL, fdwReason, lpvReserved);			if ((pBuf = TlsGetValue(TLSSLOT_RUNTIME)) && ((DWORD)pBuf >= 0x10000))				LocalFree((LPVOID)ZeroPtr(pBuf));	    } else if (fdwReason == DLL_PROCESS_DETACH) {			Imm_DllEntry(hinstDLL, fdwReason, lpvReserved);		}	    _CRTDLL_INIT(hinstDLL,fdwReason,lpvReserved);	}    return(TRUE);}

⌨️ 快捷键说明

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