共用方式為


IDebugProgramNode2::GetHostName

取得裝載該程式的處理序的名稱。

HRESULT GetHostName ( 
   GETHOSTNAME_TYPE dwHostNameType,
   BSTR*            pbstrHostName
);
int GetHostName ( 
   enum_GETHOSTNAME_TYPE dwHostNameType,
   out string            pbstrHostName
);

參數

  • dwHostNameType
    [in]介於GETHOSTNAME_TYPE列舉型別指定 name 屬性傳回的型別。

  • pbstrHostName
    [] out傳回裝載處理序名稱。

傳回值

如果成功的話,會傳回S_OK。 否則,會傳回錯誤碼。

範例

下列範例會示範如何實作這個方法,如CProgram物件,公開 (expose) 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;  
}  

請參閱

參考

IDebugProgramNode2

GETHOSTNAME_TYPE

IDebugProgramNode2