Шаг 165 - Получения дескриптора VXD

Для открытия VXD файла используется функция CreateFile с флагом FILE_FLAG_DELETE_ON_CLOSE что означаем что файл закрывается и удаляется из памяти когда на него нету указателя. Смотрим пример:

#include "stdafx.h"
#include "windows.h"
#include "iostream.h"

void main()
{
	HANDLE hDevice=NULL;
	hDevice = CreateFile("\\\\.\\NDIS", 0, 0, NULL,
		0, FILE_FLAG_DELETE_ON_CLOSE, NULL);

	if (hDevice!=INVALID_HANDLE_VALUE)
	{
		cout << "Ok" << endl;
		CloseHandle(hDevice);
	}
	else 
	{
		DWORD error;
		error=GetLastError();
		cout << "Error Code " << error << endl;
		if (error==ERROR_FILE_NOT_FOUND)
			cout << "File Nof Found" << endl;
		if (error==ERROR_NOT_SUPPORTED)
			cout << "Not support IOST interface" << endl;
	}
}

Самое главное откуда взять имя. В данном случае имя это имя в реестре:

165_1.gif (2057 b)

Подробнее о реестре и где все это хранится читайте в шаге "Шаг 151 - Что такое VXD". Смотрим результат.

165_2.gif (2869 b)

Загрузился.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.