첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
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
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요