Hizkuntza
Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Obtiene el nombre del proceso que hospeda el programa.
Sintaxis
Parámetros
dwHostNameType
[in] Valor de la enumeración GETHOSTNAME_TYPE que especifica el tipo de nombre que se va a devolver.
pbstrHostName
[out] Devuelve el nombre del proceso de hospedaje.
Valor devuelto
Si la operación se realiza correctamente, devuelve S_OK; de lo contrario, devuelve un código de error.
Ejemplo
En el ejemplo siguiente se muestra cómo implementar este método para un objeto simple CProgram que expone la interfaz IDebugProgramNode2 . En este ejemplo se omite el dwHostNameType parámetro y solo se devuelve el nombre del programa como se toma del nombre base de la ruta de acceso del archivo del módulo.
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;
}