ошибка C2065: 'IOCTL_NDISUIO_OPEN_DEVICE': необъявленный идентификатор - PullRequest
1 голос
/ 30 марта 2010

Я столкнулся с "ошибкой C2065: 'IOCTL_NDISUIO_OPEN_DEVICE': необъявленная ошибка идентификатора в коде ниже Где я не прав, пожалуйста, помогите мне.


#include "Ntddndis.h"
#include "Nuiouser.h"



HRESULT OpenInterfaceHandle( LPWSTR adapterGuid, HANDLE *pHandle)
{
    WCHAR deviceGuid[128];
    HANDLE intfHandle;
    HRESULT hr = S_OK;
    DWORD dwDummy;
    DWORD dwErr = ERROR_SUCCESS;

    wcscpy( deviceGuid, L"\\DEVICE\\" );
    wcscat( deviceGuid, adapterGuid );

    intfHandle = CreateFileA(
        "\\\\.\\\\Ndisuio",
        GENERIC_READ | GENERIC_WRITE,
        FILE_SHARE_READ | FILE_SHARE_WRITE,
        NULL,
        OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
        INVALID_HANDLE_VALUE);

    if ( intfHandle == INVALID_HANDLE_VALUE ) {
        hr = E_FAIL;    
        TraceMsg(L"CreateFile failed\n");
    }
    if (hr = S_OK)
        TraceMsg(L"CreateFile successful\n");

    if ( hr == S_OK )
    {
        if ( !DeviceIoControl(
            intfHandle,
            IOCTL_NDISUIO_OPEN_DEVICE,
            (LPVOID)deviceGuid,
            wcslen(deviceGuid)*sizeof(WCHAR),
            NULL,
            0,
            &dwDummy,
            NULL) ) {
                dwErr = GetLastError();
                hr = E_FAIL;
                TraceMsg(L"Open Device failed with Error %d\n", dwErr);
            }
        else {
            *pHandle = intfHandle;
            hr = S_OK;
            TraceMsg(L"Open Device successful\n");
        }
    }
    return hr;
}

Спасибо заранее,

1 Ответ

1 голос
/ 30 марта 2010

Определение IOCTL_NDISUIO_OPEN_DEVICE находится в «Nuiouser.h». Найдите определение в Nuiouser.h и просмотрите переменные препроцессора.

...