IVsFindTarget::SetFindState Method (Object^)
Sets the state of a find operation.
Assembly: Microsoft.VisualStudio.TextManager.Interop (in Microsoft.VisualStudio.TextManager.Interop.dll)
Parameters
- pUnk
-
Type:
System::Object^
[in] The state of the find operation.
Return Value
Type: System::Int32If the method succeeds, it returns S_OK. If it fails, it returns an error code.
From textmgr.idl:
HRESULT IVsFindTarget::SetFindState(
[in] IUnknown * punk
);
Find state is an opaque object held on behalf of the find engine. A C++ class in Visual Studio can use a smart pointer, or use the following code to manage the find state.
A C++ class in VS can use a smart pointer, or use the following code to manage the find state
// Declare the following member
IUnknown * m_pUnkFindState;
// In constructor's member-initialization-list:
m_pUnkFindState(NULL)
// In destructor or ATL FinalRelease():
if (m_pUnkFindState)
{
m_pUnkFindState->Release();
m_pUnkFindState = NULL;
}
//
// method implementations
//
HRESULT MyClass::SetFindState (IUnknown * punk)
{
if (m_pUnkFindState)
{
m_pUnkFindState->Release();
m_pUnkFindState = NULL;
}
if (punk)
{
punk->AddRef();
m_pUnkFindState = punk;
}
return S_OK;
}
HRESULT MyClass::GetFindState (IUnknown **ppunk)
{
*ppunk = m_pUnkFindState;
if (m_pUnkFindState)
m_pUnkFindState->AddRef();
return S_OK;
}