¿C ++ 0x admitirá __stdcall o lambdas externas de captura de "C"?

Ayer estaba pensando si sería posible usar la conveniencia de las funciones lambda de C ++ 0x para escribir devoluciones de llamada para las funciones API de Windows.

Por ejemplo, ¿qué pasaría si quisiera usar una lambda comoEnumChildProc conEnumChildWindows? Algo como:

EnumChildWindows(hTrayWnd, CALLBACK [](HWND hWnd, LPARAM lParam) {
        // ...
        return static_cast<BOOL>(TRUE); // continue enumerating
    }, reinterpret_cast<LPARAM>(&myData));

Otro uso sería escribirextern "C" devoluciones de llamada para rutinas C. P.ej.:

my_class *pRes = static_cast<my_class*>(bsearch(&key, myClassObjectsArr, myClassObjectsArr_size, sizeof(my_class), extern "C" [](const void *pV1, const void *pV2) {
        const my_class& o1 = *static_cast<const my_class*>(pV1);
        const my_class& o2 = *static_cast<const my_class*>(pV2);

        int res;
        // ...
        return res;
    }));

es posible?

Puedo entender que las lambdas que capturan variables nunca serán compatibles con C, pero al menos me parece posible quecapturar nada Las lambdas pueden ser compatibles.

Respuestas a la pregunta(3)

Su respuesta a la pregunta