IDebugProgramNode2::GetHostName
如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件。
取得裝載程式的處理序名稱。
語法
HRESULT GetHostName (
GETHOSTNAME_TYPE dwHostNameType,
BSTR* pbstrHostName
);
int GetHostName (
enum_GETHOSTNAME_TYPE dwHostNameType,
out string pbstrHostName
);
參數
dwHostNameType
[in]介於GETHOSTNAME_TYPE列舉,指定要傳回名稱的類型。
pbstrHostName
[out]傳回裝載處理序名稱。
傳回值
如果成功,傳回S_OK
; 否則傳回錯誤碼。
範例
下列範例示範如何實作這種簡單的方式CProgram
公開物件IDebugProgramNode2介面。 此範例中會忽略dwHostNameType
參數並傳回程式的名稱,如取自模組的檔案路徑的基底名稱。
HRESULT CProgram::GetHostName(DWORD dwHostNameType, BSTR* pbstrHostName) {
// Check for valid argument.
if (pbstrHostName)
{
char szModule[_MAX_PATH];
// Attempt to assign to szModule the path for the file used
// to create the calling process.
if (GetModuleFileName(NULL, szModule, sizeof (szModule)))
{
// If successful then declare several char arrays
char szDrive[_MAX_DRIVE];
char szDir[_MAX_DIR];
char szName[_MAX_FNAME];
char szExt[_MAX_EXT];
char szFilename[_MAX_FNAME + _MAX_EXT];
WCHAR wszFilename[_MAX_FNAME + _MAX_EXT];
// Break the szModule path name into components.
_splitpath(szModule, szDrive, szDir, szName, szExt);
// Copy the base file name szName into szFilename.
lstrcpy(szFilename, szName);
// Append the field extension szExt into szFilename.
lstrcat(szFilename, szExt);
// Convert the szFilename sequence of multibyte characters
// to the wszFilename sequence of wide characters.
mbstowcs(wszFilename, szFilename, sizeof (wszFilename) / 2);
// Assign the wszFilename to the value at *pbstrHostName.
*pbstrHostName = SysAllocString(wszFilename);
return S_OK;
}
}
return E_INVALIDARG;
}