Управляющий код FSCTL_DELETE_REPARSE_POINT


Управляющий код FSCTL_DELETE_REPARSE_POINT удаляет точку монтирования из указанного файла или каталога. Использование FSCTL_DELETE_REPARSE_POINT не удаляет файл или каталог.

Чтобы выполнить эту операцию, вызовите функцию DeviceIoControl с ниже перечисленными параметрами.

Синтаксис 

BOOL DeviceIoControl(
  (HANDLE) hDevice,            // дескриптор файла или каталога
  FSCTL_DELETE_REPARSE_POINT,  // параметр dwIoControlCode
  (LPVOID) lpInBuffer,         // буфер ввода данных
  (DWORD) nInBufferSize,       // размер буфера ввода данных
  NULL,                        // параметр lpOutBuffer
  0,                           // параметр nOutBufferSize
  (LPDWORD) lpBytesReturned,   // число возвращаемых байтов
  (LPOVERLAPPED) lpOverlapped  // структура OVERLAPPED
);

Параметры

hDevice

[in]  Дескриптор файла или каталога, из которого будет удалена точка монтирования. Дескриптор должен иметь доступ для записи в файл или каталог. Чтобы извлечь дескриптор устройства, вызовите функцию CreateFile.

dwIoControlCode

[in] Управляющий код для операции. Используйте FSCTL_DELETE_REPARSE_POINT для этой операции.

lpInBuffer

[in] Указатель на структуру REPARSE_GUID_DATA_BUFFER. Член структуры ReparseTag должен определить тэг удаляемой точки монтирования, а член структуры ReparseGuid должен определить GUID удаляемой точки монтирования. Член структуры ReparseDataLength должен быть нуль.

nInBufferSize

[in] Размер буфера lpInBuffer, в байтах. Это значение должно быть размером, указанным в REPARSE_GUID_DATA_BUFFER_HEADER_SIZE.

lpOutBuffer

Не используется с этой операцией; устанавливается в ПУСТО (NULL).

nOutBufferSize

Не используется с этой операцией; устанавливается в нуль.

lpBytesReturned

[out] Указатель на переменную, которая получает размер данных, сохраненных в буфере вывода, в байтах.

Если lpOverlapped равен ПУСТО (NULL), параметр lpBytesReturned не может быть ПУСТО (NULL). Даже когда операция не возвращает никакого вывода данных, и lpOutBuffer - ПУСТО (NULL), функция DeviceIoControl использует параметр lpBytesReturned. После такой операции, значение lpBytesReturned не имеет смысла.

Если lpOverlapped - не ПУСТО (NULL), параметр lpBytesReturned может быть ПУСТО (NULL). Если этот параметр - не ПУСТО (NULL), и операция возвращает данные, то параметр lpBytesReturned не имеет смысла до тех пор, пока не завершилась асинхронная операция. Чтобы извлечь число возвращаемых байтов, вызовите GetOverlappedResult. Если параметр hDevice связан с портом завершения ввода-вывода данных (I/O), Вы можете извлечь число возвращаемых данных при помощи вызова GetQueuedCompletionStatus.

lpOverlapped

[in] Указатель на структуру OVERLAPPED.

Если параметр hDevice открывался без определения флажка FILE_FLAG_OVERLAPPED, параметр lpOverlapped игнорируется.

Если параметр hDevice открывался с флажком FILE_FLAG_OVERLAPPED, операция выполняется как перекрывающая (асинхронная) операция. В этой ситуации, lpOverlapped должен указывать на допустимую структуру OVERLAPPED, которая содержит дескриптор объекта события. В противном случае, функция завершается ошибкой непредсказуемого вида.

Для асинхронных операций, функция DeviceIoControl возвращает значение немедленно, а объект события подает сигнал, когда операция завершилась. В противном случае, функция не возвращает значение до тех пор, пока операция не завершится или не произойдет ошибка.

Возвращаемые значения

Если операция завершается успешно, DeviceIoControl возвращает ненулевое значение.

Если операция завершается ошибкой, DeviceIoControl возвращает нуль. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.

Смотри также

Глава Точки монтирования, Управляющие коды, используемые файловыми системами, CreateFileDeviceIoControl, FSCTL_GET_REPARSE_POINT, FSCTL_SET_REPARSE_POINT

Размещение и совместимость FSCTL_DELETE_REPARSE_POINT

К

Windows XP

Да 

л

Windows 2000 Professional

Да

и

Windows NT

Нет

е

Windows Me

Нет

н

Windows 98

Нет

т

Windows 95

Нет

 
С

Windows Server 2003

Да

е Windows 2000 Server Да
р Windows NT Server Нет
в    
е    
р    

Используемая библиотека

-

Используемая DLL -
 Заголовочный файл  

- объявлено в

Winioctl.h

 - включено в

-

 Unicode

-

 Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz