Condividi tramite


IDebugProgramNode2:: GetHostName

Ottiene il nome dell'hosting del programma.

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

Parametri

  • dwHostNameType
    [in] Un valore GETHOSTNAME_TYPE dell'enumerazione che specifica il tipo di nome per restituire.

  • pbstrHostName
    [out] Restituisce il nome del processo di hosting.

Valore restituito

Se l'operazione riesce, restituisce S_OK; in caso contrario, restituisce un codice di errore.

Esempio

Nell'esempio seguente viene illustrato come implementare questo metodo per un oggetto semplice di CProgram che espone IDebugProgramNode2 l'interfaccia. In questo esempio viene ignorato il parametro di dwHostNameType e restituisce solo il nome del programma come richiesto dal nome di base del percorso del file di modulo.

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;  
}  

Vedere anche

Riferimenti

IDebugProgramNode2

GETHOSTNAME_TYPE

IDebugProgramNode2