IDebugProgramNode2::GetHostNameIDebugProgramNode2::GetHostName

Obtient le nom du processus qui héberge le programme.Gets the name of the process hosting the program.

SyntaxeSyntax

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

ParamètresParameters

dwHostNameType
[in] Une valeur à partir de la GETHOSTNAME_TYPE énumération qui spécifie le type de nom à retourner.[in] A value from the GETHOSTNAME_TYPE enumeration that specifies the type of name to return.

pbstrHostName
[out] Retourne le nom du processus d’hébergement.[out] Returns the name of the hosting process.

Valeur de retourReturn Value

En cas de réussite, retourne S_OK; sinon, retourne un code d’erreur.If successful, returns S_OK; otherwise, returns an error code.

ExempleExample

L’exemple suivant montre comment implémenter cette méthode pour une simple CProgram objet qui expose la IDebugProgramNode2 interface.The following example shows how to implement this method for a simple CProgram object that exposes the IDebugProgramNode2 interface. Cet exemple ignore le dwHostNameType paramètre et retourne uniquement le nom du programme que le nom de base du chemin d’accès de fichier du module.This example ignores the dwHostNameType parameter and returns only the name of the program as taken from the base name of the module's file path.

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

Voir aussiSee Also

IDebugProgramNode2 IDebugProgramNode2
GETHOSTNAME_TYPE GETHOSTNAME_TYPE
IDebugProgramNode2IDebugProgramNode2