IDebugThread2::GetThreadPropertiesIDebugThread2::GetThreadProperties

Obtient les propriétés qui décrivent ce thread.Gets the properties that describe this thread.

SyntaxeSyntax

HRESULT GetThreadProperties (   
   THREADPROPERTY_FIELDS dwFields,  
   THREADPROPERTIES*     ptp  
);  
int GetThreadProperties (   
   enum_THREADPROPERTY_FIELDS dwFields,  
   THREADPROPERTIES[]         ptp  
);  

ParamètresParameters

dwFields
[in] Une combinaison d’indicateurs à partir de la THREADPROPERTY_FIELDS énumération qui détermine les champs de ptp doivent être renseignés.[in] A combination of flags from the THREADPROPERTY_FIELDS enumeration that determines which fields of ptp are to be filled in.

ptp
[dans, out] A THREADPROPERTIES de la structure qui est remplie avec les propriétés du thread.[in, out] A THREADPROPERTIES structure that that is filled in with the properties of the thread.

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.

NotesRemarks

Les informations retournées par cette méthode sont généralement affichées dans le Threads fenêtre de débogage.The information returned from this method is typically shown in the Threads debug window.

ExempleExample

L’exemple suivant montre comment implémenter cette méthode pour une simple CProgram objet qui implémente le IDebugThread2 interface.The following example shows how to implement this method for a simple CProgram object that implements the IDebugThread2 interface.

HRESULT CProgram::GetThreadProperties(THREADPROPERTY_FIELDS dwFields,  
                                      THREADPROPERTIES *ptp)  
{  
    HRESULT hr = E_FAIL;    

    // Check for valid argument.    
   if (ptp)    
    {    
      // Create an array of buffers at ptp the size of the  
      // THREADPROPERTIES structure and set all of the  
      // buffers at ptp to 0.    
      memset(ptp, 0, sizeof (THREADPROPERTIES));    

      // Check if there is a valid THREADPROPERTY_FIELDS and the TPF_ID flag is set.    
      if (dwFields & TPF_ID)    
      {    
         // Check for successful assignment of the current thread ID to  
         //  the dwThreadId of the passed THREADPROPERTIES.    
         if (GetThreadId(&(ptp->dwThreadId)) == S_OK)    
         {    
            // Set the TPF_ID flag in the THREADPROPERTY_FIELDS enumerator    
            // of the passed THREADPROPERTIES.    
            ptp->dwFields |= TPF_ID;    
         }    
      }    

      hr = S_OK;    
    }    
    else    
        hr = E_INVALIDARG;    

    return hr;    
}    

Voir aussiSee Also

IDebugThread2 IDebugThread2
THREADPROPERTY_FIELDS THREADPROPERTY_FIELDS
THREADPROPERTIESTHREADPROPERTIES