Changeset 34959 in vbox for trunk/src/VBox/Runtime/common/ldr
- Timestamp:
- Dec 10, 2010 3:17:31 PM (14 years ago)
- svn:sync-xref-src-repo-rev:
- 68779
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/ldr/ldrNative.cpp
r28800 r34959 96 96 RTDECL(int) RTLdrLoad(const char *pszFilename, PRTLDRMOD phLdrMod) 97 97 { 98 LogFlow(("RTLdrLoad: pszFilename=%p:{%s} phLdrMod=%p\n", pszFilename, pszFilename, phLdrMod)); 99 100 /* 101 * validate input. 102 */ 103 AssertMsgReturn(VALID_PTR(pszFilename), ("pszFilename=%p\n", pszFilename), VERR_INVALID_PARAMETER); 104 AssertMsgReturn(VALID_PTR(phLdrMod), ("phLdrMod=%p\n", phLdrMod), VERR_INVALID_PARAMETER); 98 return RTLdrLoadEx(pszFilename, phLdrMod, NULL, 0); 99 } 100 RT_EXPORT_SYMBOL(RTLdrLoad); 101 102 103 RTDECL(int) RTLdrLoadEx(const char *pszFilename, PRTLDRMOD phLdrMod, char *pszError, size_t cbError) 104 { 105 LogFlow(("RTLdrLoadEx: pszFilename=%p:{%s} phLdrMod=%p pszError=%p cbError=%zu\n", pszFilename, pszFilename, phLdrMod, pszError, cbError)); 106 107 /* 108 * Validate and massage the input. 109 */ 110 if (!pszError) 111 AssertReturn(!cbError, VERR_INVALID_PARAMETER); 112 else 113 { 114 AssertPtrReturn(pszError, VERR_INVALID_POINTER); 115 if (cbError) 116 *pszError = '\0'; 117 else 118 pszError = NULL; 119 } 120 AssertPtrReturn(pszFilename, VERR_INVALID_POINTER); 121 AssertPtrReturn(phLdrMod, VERR_INVALID_POINTER); 105 122 106 123 /* … … 119 136 * Attempt to open the module. 120 137 */ 121 rc = rtldrNativeLoad(pszFilename, &pMod->hNative );138 rc = rtldrNativeLoad(pszFilename, &pMod->hNative, pszError, cbError); 122 139 if (RT_SUCCESS(rc)) 123 140 { … … 126 143 return rc; 127 144 } 145 128 146 RTMemFree(pMod); 129 147 } 148 else if (cbError) 149 RTStrPrintf(pszError, cbError, "Failed to allocate %zu bytes for the module handle", sizeof(*pMod)); 130 150 *phLdrMod = NIL_RTLDRMOD; 131 151 LogFlow(("RTLdrLoad: returns %Rrc\n", rc)); 132 152 return rc; 133 153 } 134 RT_EXPORT_SYMBOL(RTLdrLoad );154 RT_EXPORT_SYMBOL(RTLdrLoadEx); 135 155 136 156
Note:
See TracChangeset
for help on using the changeset viewer.