本文整理汇总了C++中DosLoadModule函数的典型用法代码示例。如果您正苦于以下问题:C++ DosLoadModule函数的具体用法?C++ DosLoadModule怎么用?C++ DosLoadModule使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了DosLoadModule函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: vptextc_somInitClass
SOM_Scope void SOMLINK vptextc_somInitClass(M_VPText *somSelf,
IN zString className,
IN SOMAny *parentClass,
IN integer4 instanceSize,
IN int maxStaticMethods,
IN integer4 majorVersion,
IN integer4 minorVersion)
{
M_VPTextData *somThis = M_VPTextGetData(somSelf);
CHAR ErrorBuffer[100];
M_VPTextMethodDebug("M_VPText","vptextc_somInitClass");
DosLoadModule((PSZ) ErrorBuffer, sizeof(ErrorBuffer), "VPText",
&_hModResource);
WinRegisterClass( /* Register window class */
0, /* Anchor block handle */
szClass, /* Window class name */
TestWndProc, /* Address of window procedure */
0, /* Class style */
12 /* No extra window words */
);
parent_somInitClass(somSelf,className,parentClass,instanceSize,
maxStaticMethods,majorVersion,minorVersion);
}
示例2: DrvMountDrivesThread
void DrvMountDrivesThread( void * hev)
{
ULONG rc;
HMODULE hmod = 0;
pRediscover_PRMs pfn = 0;
char * pErr = 0;
char szErr[16];
rc = DosLoadModule( szErr, sizeof(szErr), "LVM", &hmod);
if (rc)
pErr = "DosLoadModule";
else {
rc = DosQueryProcAddr( hmod, 0, "Rediscover_PRMs", (PFN*)&pfn);
if (rc)
pErr = "DosQueryProcAddr";
else {
pfn( &rc);
if (rc)
pErr = "Rediscover_PRMs";
}
rc = DosFreeModule( hmod);
if (rc && !pErr)
pErr = "DosFreeModule";
}
if (pErr)
printf( "DrvMountDrivesThread - %s - rc= %lx\n", pErr, rc);
rc = DosPostEventSem( (HEV)hev);
if (rc)
printf( "DrvMountDrivesThread - DosPostEventSem - rc= %lx\n", rc);
return;
}
示例3: GA_getSharedInfo
/****************************************************************************
REMARKS:
This function returns a pointer to the common graphics driver loaded in the
helper VxD. The memory for the VxD is shared between all processes via
the VxD, so that the VxD, 16-bit code and 32-bit code all see the same
state when accessing the graphics binary portable driver.
****************************************************************************/
GA_sharedInfo * NAPI GA_getSharedInfo(
int device)
{
/* Initialise the PM library and connect to our runtime DLL's */
PM_init();
/* Open our helper device driver */
if (DosOpen(PMHELP_NAME,&hSDDHelp,&result,0,0,
FILE_OPEN, OPEN_SHARE_DENYNONE | OPEN_ACCESS_READWRITE,
NULL))
PM_fatalError("Unable to open SDDHELP$ helper device driver!");
outLen = sizeof(result);
DosDevIOCtl(hSDDHelp,PMHELP_IOCTL,PMHELP_GETSHAREDINFO,
NULL, 0, NULL,
&result, outLen, &outLen);
DosClose(hSDDHelp);
if (result) {
/* We have found the shared Nucleus packet. Because not all processes
* map to SDDPMI.DLL, we need to ensure that we connect to this
* DLL so that it gets mapped into our address space (that is
* where the shared Nucleus packet is located). Simply doing a
* DosLoadModule on it is enough for this.
*/
HMODULE hModSDDPMI;
char buf[80];
DosLoadModule((PSZ)buf,sizeof(buf),(PSZ)"SDDPMI.DLL",&hModSDDPMI);
}
return (GA_sharedInfo*)result;
}
示例4: _catcher
/* *************************************************************** */
void _catcher(bundle s)
{
char msg[512];
char *b[4];
HMODULE hmod;
PFNWP DlgProc;
int c = 0,
bx = 0;
if (msgHead != NULL) {
for (msg[0] = '\0'; *msgHead != NULL; ++msgHead) strcat(msg,*msgHead);
b[bx++] = msg;
c = strlen(msg) + 1;
}
for (msg[c] = '\0'; *s != NULL; ++s) strcat(&msg[c],*s);
b[bx++] = &msg[c];
b[bx++] = "Application will terminate now";
b[bx] = NULL;
if (DosLoadModule(NULL, 0, "GPRTS", &hmod) ||
DosQueryProcAddr(hmod, 0, "DlgProc", (PFN *)&DlgProc))
WinMessageBox(HWND_DESKTOP, HWND_DESKTOP,
"Unable to load error message","GPM Fatal Error",
0, MB_ICONHAND | MB_OK);
else {
WinAlarm(HWND_DESKTOP, WA_ERROR);
WinDlgBox(HWND_DESKTOP, HWND_DESKTOP, DlgProc, hmod, GPRTS_DLG, b);
DosFreeModule(hmod);
}
DosExit(EXIT_PROCESS, 0);
}
示例5: DosLoadModule
/*
** Interfaces for opening a shared library, finding entry points
** within the shared library, and closing the shared library.
*/
static void *os2DlOpen(sqlite3_vfs *pVfs, const char *zFilename){
UCHAR loadErr[256];
HMODULE hmod;
APIRET rc;
rc = DosLoadModule((PSZ)loadErr, sizeof(loadErr), zFilename, &hmod);
return rc != NO_ERROR ? 0 : (void*)hmod;
}
示例6: LoadModule
APIRET LoadModule(PSZ pszModuleName,
PHMODULE phModule)
{
APIRET rc; /* operation return code */
char pszBuffer[512]; /* module name buffer in case of failure */
HMODULE hModule; /* load result buffer for module handle */
if (NULL == phModule) /* check if module handle is desired */
phModule = &hModule; /* point to local buffer, forget after return */
pszBuffer[0] = 0; /* prevent previous results from disturbing */
rc = DosLoadModule(pszBuffer,
sizeof(pszBuffer),
pszModuleName,
phModule);
if (rc != NO_ERROR)
{
if (pszBuffer[0] != 0)
ToolsErrorDosEx(rc, /* display error message */
pszBuffer);
else
ToolsErrorDos(rc);
}
return rc; /* OK */
}
示例7: _PR_MD_INIT_IO
void
_PR_MD_INIT_IO()
{
APIRET rc;
HMODULE module;
sock_init();
rc = DosLoadModule(NULL, 0, "DOSCALL1", &module);
if (rc != NO_ERROR)
{
return;
}
rc = DosQueryProcAddr(module, 981, NULL, (PFN*) &myDosOpenL);
if (rc != NO_ERROR)
{
return;
}
rc = DosQueryProcAddr(module, 986, NULL, (PFN*) &myDosSetFileLocksL);
if (rc != NO_ERROR)
{
return;
}
rc = DosQueryProcAddr(module, 988, NULL, (PFN*) &myDosSetFilePtrL);
if (rc != NO_ERROR)
{
return;
}
isWSEB = PR_TRUE;
}
示例8: WtkLoadNlsResourceModule
APIRET APIENTRY WtkLoadNlsResourceModule( PFN pfnMod, PHMODULE phmod, PSZ pszDefaultLanguage,
PSZ pszEnvVar, PSZ pszFileMaskPath)
{
APIRET rc = NO_ERROR;
CHAR szLanguageModule[ _MAX_PATH];
CHAR szError[ 20];
do
{
// determine filename
rc = WtkGetNlsPackageFilename( pfnMod, pszDefaultLanguage, pszEnvVar, pszFileMaskPath,
szLanguageModule, sizeof( szLanguageModule));
if (rc != NO_ERROR)
break;
// load resource file
rc = DosLoadModule( szError, sizeof( szError), szLanguageModule, phmod);
if (rc != NO_ERROR)
break;
} while (FALSE);
return rc;
}
示例9: wxASSERT_MSG
bool wxDynamicLibrary::Load(const wxString& libnameOrig, int flags)
{
wxASSERT_MSG(m_handle == 0, _T("Library already loaded."));
// add the proper extension for the DLL ourselves unless told not to
wxString libname = libnameOrig;
if ( !(flags & wxDL_VERBATIM) )
{
// and also check that the libname doesn't already have it
wxString ext;
wxFileName::SplitPath(libname, NULL, NULL, &ext);
if ( ext.empty() )
{
libname += GetDllExt();
}
}
// different ways to load a shared library
//
// FIXME: should go to the platform-specific files!
#if defined(__WXMAC__) && !defined(__DARWIN__)
FSSpec myFSSpec;
Ptr myMainAddr;
Str255 myErrName;
wxMacFilename2FSSpec( libname , &myFSSpec );
if( GetDiskFragment( &myFSSpec,
0,
kCFragGoesToEOF,
"\p",
kPrivateCFragCopy,
&m_handle,
&myMainAddr,
myErrName ) != noErr )
{
wxLogSysError( _("Failed to load shared library '%s' Error '%s'"),
libname.c_str(),
wxMacMakeStringFromPascal( myErrName ).c_str() );
m_handle = 0;
}
#elif defined(__WXPM__) || defined(__EMX__)
char err[256] = "";
DosLoadModule(err, sizeof(err), (PSZ)libname.c_str(), &m_handle);
#else
m_handle = RawLoad(libname, flags);
#endif
if ( m_handle == 0 )
{
#ifdef wxHAVE_DYNLIB_ERROR
Error();
#else
wxLogSysError(_("Failed to load shared library '%s'"), libname.c_str());
#endif
}
return IsLoaded();
}
示例10: ReloadResources
BOOL Settings :: ReloadResources (PSZ psz)
{
if (g_hmod)
DosFreeModule(g_hmod);
APIRET rc;
if ((rc = DosLoadModule(PSZ(NULL), 0, psz, &g_hmod)))
{
DisplayError("ERROR", "Could not (re)load Gotcha! resource module "
"'%s' (DosLoadModule() return code %d). First make sure the DLL is in the LIBPATH. If this is the case, try to delete "
"GOTCHA.INI and start Gotcha! again. If it does not work "
"then, contact the author ([email protected]).", psz, rc);
exit(1);
}
ResourceString::Module(g_hmod);
pszPageTab[0] = RSTR (IDS_PAGESAVE);
pszPageTab[1] = RSTR (IDS_PAGESNAPSHOT);
pszPageTab[2] = RSTR (IDS_PAGEMISC);
pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
for( int i = 0; i < BMF_INVALID; i++ ) {
ifi[ i ].label = RSTR ( IDS_BITMAP12INTERNAL+i ); }
return TRUE;
}
示例11: InitializeXPIStub
APIRET InitializeXPIStub()
{
char szBuf[MAX_BUF];
char szXPIStubFile[MAX_BUF];
hXPIStubInst = NULL;
/* get full path to xpistub.dll */
if(DosQueryPathInfo("xpistub.dll", sizeof(szXPIStubFile), szXPIStubFile, NULL) == FALSE)
PrintError("File not found: xpistub.dll", ERROR_CODE_SHOW, 2);
/* load xpistub.dll */
if((DosLoadModule(&szBuf, sizeof(szBuf), szXPIStubFile, &hXPIStubInst)) != NO_ERROR)
{
sprintf(szBuf, "Error loading library: %s\n", szXPIStubFile);
PrintError(szBuf, ERROR_CODE_SHOW, 1);
}
if((pfnXpiInit = DosQueryProcAddr(hXPIStubInst, 1L, NULL,"XPI_Init")) == NULL)
{
sprintf(szBuf, "DosQueryProcAddr() failed: XPI_Init\n");
PrintError(szBuf, ERROR_CODE_SHOW, 1);
}
if((pfnXpiInstall = DosQueryProcAddr(hXPIStubInst, 1L, NULL,"XPI_Install")) == NULL)
{
sprintf(szBuf, "DosQueryProcAddr() failed: XPI_Install\n");
PrintError(szBuf, ERROR_CODE_SHOW, 1);
}
if((pfnXpiExit = DosQueryProcAddr(hXPIStubInst, 1L, NULL,"XPI_Exit")) == NULL)
{
sprintf(szBuf, "DosQueryProcAddr() failed: XPI_Exit\n");
PrintError(szBuf, ERROR_CODE_SHOW, 1);
}
return(0);
}
示例12: LoadOverlay
// Just put DLL loading into separate function
static BOOL LoadOverlay(void)
{
char szTempStr[ 255 ];
// Load WarpOverlay! API DLL
if( DosLoadModule( szTempStr, sizeof( szTempStr ), "hwvideo", &m_HWVideoHandle ))
return FALSE;
// Get all functions entry points
if( DosQueryProcAddr( m_HWVideoHandle, 0, "HWVIDEOInit", ( PFN * )&m_pfnHWVIDEOInit ))
return FALSE;
if( DosQueryProcAddr( m_HWVideoHandle, 0, "HWVIDEOCaps", ( PFN * )&m_pfnHWVIDEOCaps ))
return FALSE;
if( DosQueryProcAddr( m_HWVideoHandle, 0, "HWVIDEOSetup", ( PFN * )&m_pfnHWVIDEOSetup ))
return FALSE;
if( DosQueryProcAddr( m_HWVideoHandle, 0, "HWVIDEOBeginUpdate", ( PFN * )&m_pfnHWVIDEOBeginUpdate ))
return FALSE;
if( DosQueryProcAddr( m_HWVideoHandle, 0, "HWVIDEOEndUpdate", ( PFN * )&m_pfnHWVIDEOEndUpdate ))
return FALSE;
if( DosQueryProcAddr( m_HWVideoHandle, 0, "HWVIDEOGetAttrib", ( PFN * )&m_pfnHWVIDEOGetAttrib ))
return FALSE;
if( DosQueryProcAddr( m_HWVideoHandle, 0, "HWVIDEOSetAttrib", ( PFN * )&m_pfnHWVIDEOSetAttrib ))
return FALSE;
if( DosQueryProcAddr( m_HWVideoHandle, 0, "HWVIDEOClose", ( PFN * )&m_pfnHWVIDEOClose ))
return FALSE;
return TRUE;
}
示例13: SupportsNumberOfPagesQuery
/* Depending on GBM.DLL version the number of pages can be retrieved (versions > 1.35)
* or the functionality does not yet exist.
*
* Dynamically link the specific function to support also older versions of GBM.DLL.
*/
gbm_boolean SupportsNumberOfPagesQuery(void)
{
#if defined(__OS2__) || defined(OS2)
HMODULE hmod;
PFN functionAddr = NULL;
APIRET rc = 0;
/* check version first */
if (gbm_version() < 135)
{
return GBM_FALSE;
}
/* now dynamically link GBM.DLL */
rc = DosLoadModule("", 0, "GBM", &hmod);
if (rc)
{
return GBM_FALSE;
}
/* lookup gbm_read_imgcount() */
rc = DosQueryProcAddr(hmod, 0L, "gbm_read_imgcount", &functionAddr);
DosFreeModule(hmod);
return rc ? GBM_FALSE : GBM_TRUE;
#else
/* On all other platforms we assume so far that the correct lib is there. */
return GBM_TRUE;
#endif
}
示例14: _PyImport_GetDynLoadFunc
dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname,
const char *pathname, FILE *fp)
{
dl_funcptr p;
APIRET rc;
HMODULE hDLL;
char failreason[256];
char funcname[258];
rc = DosLoadModule(failreason,
sizeof(failreason),
pathname,
&hDLL);
if (rc != NO_ERROR) {
char errBuf[256];
PyOS_snprintf(errBuf, sizeof(errBuf),
"DLL load failed, rc = %d: %.200s",
rc, failreason);
PyErr_SetString(PyExc_ImportError, errBuf);
return NULL;
}
PyOS_snprintf(funcname, sizeof(funcname), "init%.200s", shortname);
rc = DosQueryProcAddr(hDLL, 0L, funcname, &p);
if (rc != NO_ERROR)
p = NULL; /* Signify Failure to Acquire Entrypoint */
return p;
}
示例15: MADSysLoad
mad_status MADSysLoad( const char *path, mad_client_routines *cli,
mad_imp_routines **imp, mad_sys_handle *sys_hdl )
{
HMODULE dll;
mad_init_func *init_func;
mad_status status;
char madname[CCHMAXPATH] = "";
char madpath[CCHMAXPATH] = "";
/* To prevent conflicts with the 16-bit MAD DLLs, the 32-bit versions have the "D32"
* extension. We will search for them along the PATH (not in LIBPATH);
*/
strcpy( madname, path );
strcat( madname, ".D32" );
_searchenv( madname, "PATH", madpath );
if( madpath[0] == '\0' || DosLoadModule( NULL, 0, madpath, &dll ) != 0 ) {
return( MS_ERR|MS_FOPEN_FAILED );
}
status = MS_ERR|MS_INVALID_MAD;
if( DosQueryProcAddr( dll, 0, "MADLOAD", (PFN FAR *)&init_func ) == 0
&& (*imp = init_func( &status, cli )) != NULL ) {
*sys_hdl = dll;
return( MS_OK );
}
DosFreeModule( dll );
return( status );
}