728x90
반응형
728x170
■ DeviceIoControl API 함수를 선언하는 방법을 보여준다.
▶ 예제 코드 (C#)
using System;
using System.Runtime.InteropServices;
#region 장치 IO 제어하기 - DeviceIoControl(deviceHandle, ioControlCode, inBuffer, inBufferSize, outBuffer, outBufferSize, byteCountReturned, overlappedHandle)
/// <summary>
/// 장치 IO 제어하기
/// </summary>
/// <param name="deviceHandle">디바이스 핸들</param>
/// <param name="ioControlCode">IO 제어 코드</param>
/// <param name="inBuffer">입력 버퍼</param>
/// <param name="inBufferSize">입력 버퍼 크기</param>
/// <param name="outBuffer">출력 버퍼</param>
/// <param name="outBufferSize">출력 버퍼 크기</param>
/// <param name="byteCountReturned">반환 바이트 수</param>
/// <param name="overlappedHandle">중첩 핸들</param>
/// <returns>처리 결과</returns>
[DllImport("kernel32")]
public static extern bool DeviceIoControl
(
IntPtr deviceHandle,
uint ioControlCode,
ref short inBuffer,
uint inBufferSize,
IntPtr outBuffer,
uint outBufferSize,
ref uint byteCountReturned,
IntPtr overlappedHandle
);
#endregion
/// <summary>
/// FSCTL_SET_COMPRESSION
/// </summary>
private const uint FSCTL_SET_COMPRESSION = 0x0009C040;
/// <summary>
/// COMPRESSION_FORMAT_NONE
/// </summary>
private const short COMPRESSION_FORMAT_NONE = 0;
/// <summary>
/// COMPRESSION_FORMAT_DEFAULT
/// </summary>
private const short COMPRESSION_FORMAT_DEFAULT = 1;
728x90
반응형
그리드형(광고전용)
'C# > WIN32' 카테고리의 다른 글
[C#/WIN32] GetClientRect API 함수 선언하기 (0) | 2021.10.05 |
---|---|
[C#/WIN32] EnableWindow API 함수 선언하기 (0) | 2021.10.05 |
[C#/WIN32] GetKeyboardLayoutName API 함수 선언하기 (0) | 2021.10.05 |
[C#/WIN32] GetKeyboardState API 함수 선언하기 (0) | 2021.09.15 |
[C#/WIN32] SetForegroundWindow API 함수 선언하기 (0) | 2021.08.30 |
[C#/WIN32] LoadCursorFromFile API 함수 선언하기 (0) | 2021.08.28 |
[C#/WIN32] keybd_event API 함수 선언하기 (0) | 2021.08.28 |
[C#/WIN32] GetSystemMetrics API 함수 선언하기 (0) | 2021.08.28 |
[C#/WIN32] SetWindowPos API 함수 선언하기 (0) | 2021.08.28 |
[C#/WIN32] GetWindowPlacement API 함수 선언하기 (0) | 2021.08.28 |
댓글을 달아 주세요