Click here to Skip to main content
15,796,333 members
Home / Discussions / Managed C++/CLI
   

Managed C++/CLI

 
PinnedThe C++ / CLI is for managed and mixed-mode C++ programming only Pin
Chris Maunder9-Jan-06 10:36
cofounderChris Maunder9-Jan-06 10:36 
QuestionTreelistView c++/cli Pin
Temblor22-Aug-23 0:05
Temblor22-Aug-23 0:05 
AnswerRe: TreelistView c++/cli Pin
Richard MacCutchan22-Aug-23 1:09
mveRichard MacCutchan22-Aug-23 1:09 
GeneralRe: TreelistView c++/cli Pin
Temblor22-Aug-23 4:57
Temblor22-Aug-23 4:57 
GeneralRe: TreelistView c++/cli Pin
Richard MacCutchan22-Aug-23 5:03
mveRichard MacCutchan22-Aug-23 5:03 
AnswerRe: TreelistView c++/cli Pin
jschell22-Aug-23 7:41
jschell22-Aug-23 7:41 
GeneralRe: TreelistView c++/cli Pin
Peter_in_278022-Aug-23 18:20
professionalPeter_in_278022-Aug-23 18:20 
GeneralRe: TreelistView c++/cli Pin
Temblor22-Aug-23 21:54
Temblor22-Aug-23 21:54 
GeneralRe: TreelistView c++/cli Pin
Richard MacCutchan22-Aug-23 22:48
mveRichard MacCutchan22-Aug-23 22:48 
GeneralRe: TreelistView c++/cli Pin
jschell23-Aug-23 7:47
jschell23-Aug-23 7:47 
AnswerRe: TreelistView c++/cli Pin
Gerry Schmitz23-Aug-23 6:49
mveGerry Schmitz23-Aug-23 6:49 
AnswerRe: TreelistView c++/cli Pin
Temblor23-Sep-23 4:54
Temblor23-Sep-23 4:54 
QuestionHeap Corruption in richedit Pin
ForNow15-Jan-23 13:49
ForNow15-Jan-23 13:49 
AnswerRe: Heap Corruption in richedit Pin
Victor Nijegorodov15-Jan-23 21:26
Victor Nijegorodov15-Jan-23 21:26 
GeneralRe: Heap Corruption in richedit Pin
ForNow16-Jan-23 1:10
ForNow16-Jan-23 1:10 
Questiontrying to understand DLL and Thread local storage Pin
ForNow4-Dec-22 9:52
ForNow4-Dec-22 9:52 
AnswerRe: trying to understand DLL and Thread local storage Pin
Richard Deeming4-Dec-22 22:42
mveRichard Deeming4-Dec-22 22:42 
GeneralRe: trying to understand DLL and Thread local storage Pin
ForNow5-Dec-22 3:40
ForNow5-Dec-22 3:40 
I am refering to the following example i found in the codeproject my lack of understanding is due to the fact that gw_dwThreadIndexis defined in global storage not stack/local storage

C++
Shrink ▲   
struct ThreadData {
    // some thread specific data
};
...
DWORD g_dwThreadIndex;

extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, 
                      DWORD dwReason, LPVOID /*pReserved*/)
{
    ThreadData* pData;

    switch (dwReason) {
        case DLL_PROCESS_ATTACH:

            // allocate a TLS index

            g_dwThreadIndex = ::TlsAlloc();
            if (g_dwThreadIndex == TLS_OUT_OF_INDEXES)
                return FALSE;

            //break;        // execute the DLL_THREAD_ATTACH code

        case DLL_THREAD_ATTACH:

            // allocate memory for this thread

            pData = (ThreadData*) ::LocalAlloc(LPTR, sizeof(ThreadData));
            if (pData == 0)
                return FALSE;

            ::TlsSetValue(g_dwThreadIndex, (LPVOID) pData);
            break;

        case DLL_THREAD_DETACH:

            // release memory for this thread

            pData = (ThreadData*) ::TlsGetValue(g_dwThreadIndex);
            if (pData != 0)
                ::LocalFree((HLOCAL) pData);
            break;

        case DLL_PROCESS_DETACH:

            // release memory for this thread

            pData = (ThreadData*) ::TlsGetValue(g_dwThreadIndex);
            if (pData != 0)
                ::LocalFree((HLOCAL) pData);

            // release the TLS index

            ::TlsFree(g_dwThreadIndex);
            break;
    }

    return TRUE;
}

    ...
};

GeneralRe: trying to understand DLL and Thread local storage Pin
Richard Deeming5-Dec-22 5:29
mveRichard Deeming5-Dec-22 5:29 
GeneralRe: trying to understand DLL and Thread local storage Pin
ForNow5-Dec-22 5:41
ForNow5-Dec-22 5:41 
GeneralRe: trying to understand DLL and Thread local storage Pin
Richard Deeming5-Dec-22 7:01
mveRichard Deeming5-Dec-22 7:01 
GeneralRe: trying to understand DLL and Thread local storage Pin
ForNow5-Dec-22 8:39
ForNow5-Dec-22 8:39 
AnswerRe: trying to understand DLL and Thread local storage Pin
Richard MacCutchan5-Dec-22 6:56
mveRichard MacCutchan5-Dec-22 6:56 
GeneralRe: trying to understand DLL and Thread local storage Pin
ForNow5-Dec-22 8:33
ForNow5-Dec-22 8:33 
GeneralRe: trying to understand DLL and Thread local storage Pin
Richard MacCutchan5-Dec-22 8:54
mveRichard MacCutchan5-Dec-22 8:54 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.