이 정책 설정을 통해 사용되는 CNG 암호화 알고리즘을 구성할 수 있습니다.


이 정책 설정을 사용하면 제공되는 암호화가 지원되는 알고리즘이면 사용됩니다.


이 정책 설정을 사용하지 않거나 구성하지 않으면 AES가 사용됩니다.


Registry HiveHKEY_CURRENT_USER
Registry Pathsoftware\policies\microsoft\office\15.0\access\security\crypto
Value Namecipheralgorithm
Value TypeREG_SZ


출처: http://winintro.com/?Category=Office2013&Policy=access15.Office.Microsoft.Policies.Windows::L_SetCNGCipherAlgorithm&Language=ko-kr



'windows' 카테고리의 다른 글

sccm관련  (0) 2013.09.05
AD환경에서 pc명 변경  (0) 2012.05.19
윈도우 정품인증  (2) 2012.03.29
윈도 스크립트 자동실행  (0) 2012.01.10
"ActiveDirectory 사용자 및 컴퓨터"-dsa.msc 실행이 안될때 win2008  (0) 2012.01.03
Posted by applicationlayer
:

sccm관련

windows 2013. 9. 5. 17:06 |

http://svrstudy.tistory.com/



http://icerainbow.tistory.com/

Posted by applicationlayer
:

AD환경에서 pc명 변경

windows 2012. 5. 19. 09:56 |

사용자 스스로 변경하는것 보다는 요청을 받으시면 

Netdom .exe 을 사용해서 원격에서 변경을 하는 것이

좋을 듯 합니다.

 

netdom renamecomputer 변경할 컴퓨터명 /newname:바뀔컴퓨터명

/userd:mydomain\administrator /passwordd:*

/usero:mydomain\administrator /passwordo:* /reboot:60

 

/reboot:60 : 60초후 자동으로 리부팅시킵니다.

 

usero,passwordo: 대상컴퓨터관리계정id,password 입력

userd,passwordd: 도메인관리자계정id,password 입력



'windows' 카테고리의 다른 글

ms access2013 암호화 알고리즘  (0) 2016.05.20
sccm관련  (0) 2013.09.05
윈도우 정품인증  (2) 2012.03.29
윈도 스크립트 자동실행  (0) 2012.01.10
"ActiveDirectory 사용자 및 컴퓨터"-dsa.msc 실행이 안될때 win2008  (0) 2012.01.03
Posted by applicationlayer
:

윈도우 정품인증

windows 2012. 3. 29. 18:47 |

허용

activation.sls.microsoft.com 443

65.52.98.231


go.microsoft.com 80

64.4.11.160



'windows' 카테고리의 다른 글

sccm관련  (0) 2013.09.05
AD환경에서 pc명 변경  (0) 2012.05.19
윈도 스크립트 자동실행  (0) 2012.01.10
"ActiveDirectory 사용자 및 컴퓨터"-dsa.msc 실행이 안될때 win2008  (0) 2012.01.03
자동실행 레지스트리 경로  (0) 2011.12.11
Posted by applicationlayer
:
Windows 2000 및 XP에서 그룹 정책 스크립트 배포를위한 두 가지 옵션을 포함합니다 : 
Scripts (Startup/Shutdown): 스크립트 (시작 / 종료) : 
In the Group policy console (gpedit.msc) under 'Computer Configuration\Windows Settings', you can specify scripts that are to run when the computer starts up or shuts down. '컴퓨터 구성 \ Windows 설정'아래의 그룹 정책 콘솔 (gpedit.msc를)에서는 컴퓨터가 시작하거나 종료할 때 실행할 수있는 스크립트를 지정할 수 있습니다. Note: These scripts under Local System account. 참고 : 로컬 시스템 계정에서 이러한 스크립트. 

Scripts (Logon/Logoff): 스크립트 (로그온 / 로그오프) : 
In the Group policy console (gpedit.msc) under 'User Configuration\Windows Settings', you can specify scripts that are to run when the user logs on or logs off the computer. '사용자 구성 \ Windows 설정'아래의 그룹 정책 콘솔 (gpedit.msc를)에서는 사용자가 로그온하거나 컴퓨터 로그오프할 때 실행할 수있는 스크립트를 지정할 수 있습니다. These scripts run as User, not as Administrator. 이러한 스크립트는되지 관리자로, 사용자로 실행합니다. 


출처:
http://translate.google.co.kr/translate?hl=ko&langpair=en%7Cko&u=http://techsupt.winbatch.com/ts/T000001048F90.html
 

'windows' 카테고리의 다른 글

AD환경에서 pc명 변경  (0) 2012.05.19
윈도우 정품인증  (2) 2012.03.29
"ActiveDirectory 사용자 및 컴퓨터"-dsa.msc 실행이 안될때 win2008  (0) 2012.01.03
자동실행 레지스트리 경로  (0) 2011.12.11
IMAGE_THUNK_DATA32  (0) 2010.05.24
Posted by applicationlayer
:

윈도우를 재부팅한다-_-


'windows' 카테고리의 다른 글

윈도우 정품인증  (2) 2012.03.29
윈도 스크립트 자동실행  (0) 2012.01.10
자동실행 레지스트리 경로  (0) 2011.12.11
IMAGE_THUNK_DATA32  (0) 2010.05.24
Windows Data Types  (0) 2010.05.24
Posted by applicationlayer
:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\Windows\Load
HKLM\Software\Microsoft\Windows\CurrentVersion\Windows\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Winlogon\Userinit
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

'windows' 카테고리의 다른 글

윈도 스크립트 자동실행  (0) 2012.01.10
"ActiveDirectory 사용자 및 컴퓨터"-dsa.msc 실행이 안될때 win2008  (0) 2012.01.03
IMAGE_THUNK_DATA32  (0) 2010.05.24
Windows Data Types  (0) 2010.05.24
PIMAGE_IMPORT_DESCRIPTOR  (0) 2010.05.24
Posted by applicationlayer
:

IMAGE_THUNK_DATA32

windows 2010. 5. 24. 19:22 |
typedef struct _IMAGE_THUNK_DATA32 {
    union {
        DWORD ForwarderString;      // PBYTE
        DWORD Function;             // PDWORD
        DWORD Ordinal;
        DWORD AddressOfData;        // PIMAGE_IMPORT_BY_NAME
    } u1;
} IMAGE_THUNK_DATA32;
typedef IMAGE_THUNK_DATA32 * PIMAGE_THUNK_DATA32;

'windows' 카테고리의 다른 글

"ActiveDirectory 사용자 및 컴퓨터"-dsa.msc 실행이 안될때 win2008  (0) 2012.01.03
자동실행 레지스트리 경로  (0) 2011.12.11
Windows Data Types  (0) 2010.05.24
PIMAGE_IMPORT_DESCRIPTOR  (0) 2010.05.24
WinNT.h  (0) 2010.05.24
Posted by applicationlayer
:

Windows Data Types

windows 2010. 5. 24. 12:06 |

Windows Data Types

The data types supported by Microsoft® Windows® are used to define function return values, function and message parameters, and structure members. They define the size and meaning of these elements. For more information about the underlying C/C++ data types, see Data Type Ranges.

The following table contains the following types: character, integer, Boolean, pointer, and handle. The character, integer, and Boolean types are common to most C compilers. Most of the pointer-type names begin with a prefix of P or LP. Handles refer to a resource that has been loaded into memory.

For more information about handling 64-bit integers, see Large Integers.

Type Description

ATOM

Atom. For more information, see Atoms.

This type is declared in WinDef.h as follows:

typedef WORD ATOM;

BOOL

Boolean variable (should be TRUE or FALSE).

This type is declared in WinDef.h as follows:

typedef int BOOL;

BOOLEAN

Boolean variable (should be TRUE or FALSE).

This type is declared in WinNT.h as follows:

typedef BYTE BOOLEAN;

BYTE

Byte (8 bits).

This type is declared in WinDef.h as follows:

typedef unsigned char BYTE;

CALLBACK

Calling convention for callback functions.

This type is declared in WinDef.h as follows:

#define CALLBACK __stdcall

CHAR

8-bit Windows (ANSI) character. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef char CHAR;

COLORREF

Red, green, blue (RGB) color value (32 bits). See COLORREF for information on this type.

This type is declared in WinDef.h as follows:

typedef DWORD COLORREF;

CONST

Variable whose value is to remain constant during execution.

This type is declared in WinDef.h as follows:

#define CONST const

DWORD

32-bit unsigned integer. The range is 0 through 4294967295 decimal.

This type is declared in WinDef.h as follows:

typedef unsigned long DWORD;

DWORDLONG

64-bit unsigned integer. The range is 0 through 18446744073709551615 decimal.

This type is declared in WinNT.h as follows:

typedef ULONGLONG DWORDLONG;

DWORD_PTR

Unsigned long type for pointer precision. Use when casting a pointer to a long type to perform pointer arithmetic. (Also commonly used for general 32-bit parameters that have been extended to 64 bits in 64-bit Windows. )

This type is declared in BaseTsd.h as follows:

typedef ULONG_PTR DWORD_PTR;

DWORD32

32-bit unsigned integer.

This type is declared in BaseTsd.h as follows:

typedef unsigned int DWORD32;

DWORD64

64-bit unsigned integer.

This type is declared in BaseTsd.h as follows:

typedef unsigned __int64 DWORD64;

FLOAT

Floating-point variable.

This type is declared in WinDef.h as follows:

typedef float FLOAT;

HACCEL

Handle to an accelerator table.

This type is declared in WinDef.h as follows:

typedef HANDLE HACCEL;

HALF_PTR

Half the size of a pointer. Use within a structure that contains a pointer and two small fields.

This type is declared in Basetsd.h as follows:

#ifdef _WIN64
typedef int HALF_PTR;
#else
typedef short HALF_PTR;
#endif

HANDLE

Handle to an object.

This type is declared in WinNT.h as follows:

typedef PVOID HANDLE;

HBITMAP

Handle to a bitmap.

This type is declared in WinDef.h as follows:

typedef HANDLE HBITMAP;

HBRUSH

Handle to a brush.

This type is declared in WinDef.h as follows:

typedef HANDLE HBRUSH;

HCOLORSPACE

Handle to a color space.

This type is declared in WinDef.h as follows:

#if(WINVER >= 0x0400)
typedef HANDLE HCOLORSPACE;
#endif

HCONV

Handle to a dynamic data exchange (DDE) conversation.

This type is declared in Ddeml.h as follows:

typedef HANDLE HCONV;

HCONVLIST

Handle to a DDE conversation list.

This type is declared in Ddeml.h as follows:

typedef HANDLE HCONVLIST;

HCURSOR

Handle to a cursor.

This type is declared in WinDef.h as follows:

typedef HICON HCURSOR;

HDC

Handle to a device context (DC).

This type is declared in WinDef.h as follows:

typedef HANDLE HDC;

HDDEDATA

Handle to DDE data.

This type is declared in Ddeml.h as follows:

typedef HANDLE HDDEDATA;

HDESK

Handle to a desktop.

This type is declared in WinDef.h as follows:

typedef HANDLE HDESK;

HDROP

Handle to an internal drop structure.

This type is declared in ShellApi.h as follows:

typedef HANDLE HDROP;

HDWP

Handle to a deferred window position structure.

This type is declared in WinUser.h as follows:

typedef HANDLE HDWP;

HENHMETAFILE

Handle to an enhanced metafile.

This type is declared in WinDef.h as follows:

typedef HANDLE HENHMETAFILE;

HFILE

Handle to a file opened by OpenFile, not CreateFile.

This type is declared in WinDef.h as follows:

typedef int HFILE;

HFONT

Handle to a font.

This type is declared in WinDef.h as follows:

typedef HANDLE HFONT;

HGDIOBJ

Handle to a GDI object.

This type is declared in WinDef.h as follows:

typedef HANDLE HGDIOBJ;

HGLOBAL

Handle to a global memory block.

This type is declared in WinDef.h as follows:

typedef HANDLE HGLOBAL;

HHOOK

Handle to a hook.

This type is declared in WinDef.h as follows:

typedef HANDLE HHOOK;

HICON

Handle to an icon.

This type is declared in WinDef.h as follows:

typedef HANDLE HICON;

HINSTANCE

Handle to an instance.

This type is declared in WinDef.h as follows:

typedef HANDLE HINSTANCE;

HKEY

Handle to a registry key.

This type is declared in WinDef.h as follows:

typedef HANDLE HKEY;

HKL

Input locale identifier.

This type is declared in WinDef.h as follows:

typedef HANDLE HKL;

HLOCAL

Handle to a local memory block.

This type is declared in WinDef.h as follows:

typedef HANDLE HLOCAL;

HMENU

Handle to a menu.

This type is declared in WinDef.h as follows:

typedef HANDLE HMENU;

HMETAFILE

Handle to a metafile.

This type is declared in WinDef.h as follows:

typedef HANDLE HMETAFILE;

HMODULE

Handle to a module. The value is the base address of the module.

This type is declared in WinDef.h as follows:

typedef HINSTANCE HMODULE;

HMONITOR

Handle to a display monitor.

This type is declared in WinDef.h as follows:

if(WINVER >= 0x0500) typedef HANDLE HMONITOR;

HPALETTE

Handle to a palette.

This type is declared in WinDef.h as follows:

typedef HANDLE HPALETTE;

HPEN

Handle to a pen.

This type is declared in WinDef.h as follows:

typedef HANDLE HPEN;

HRESULT

Return code used by COM interfaces. For more information, see Structure of the COM Error Codes. To test an HRESULT value, use the FAILED and SUCCEEDED macros.

This type is declared in WinNT.h as follows:

typedef LONG HRESULT;

HRGN

Handle to a region.

This type is declared in WinDef.h as follows:

typedef HANDLE HRGN;

HRSRC

Handle to a resource.

This type is declared in WinDef.h as follows:

typedef HANDLE HRSRC;

HSZ

Handle to a DDE string.

This type is declared in Ddeml.h as follows:

typedef HANDLE HSZ;

HWINSTA

Handle to a window station.

This type is declared in WinDef.h as follows:

typedef HANDLE WINSTA;

HWND

Handle to a window.

This type is declared in WinDef.h as follows:

typedef HANDLE HWND;

INT

32-bit signed integer. The range is -2147483648 through 2147483647 decimal.

This type is declared in WinDef.h as follows:

typedef int INT;

INT_PTR

Signed integer type for pointer precision. Use when casting a pointer to an integer to perform pointer arithmetic.

This type is declared in BaseTsd.h as follows:

#if defined(_WIN64) 
typedef __int64 INT_PTR;
#else
typedef int INT_PTR;
#endif

INT32

32-bit signed integer. The range is -2147483648 through 2147483647 decimal.

This type is declared in BaseTsd.h as follows:

typedef signed int INT32;

INT64

64-bit signed integer. The range is ?9223372036854775808 through 9223372036854775807 decimal.

This type is declared in BaseTsd.h as follows:

typedef signed __int64 INT64;

LANGID

Language identifier. For more information, see Locales.

This type is declared in WinNT.h as follows:

typedef WORD LANGID;

LCID

Locale identifier. For more information, see Locales.

This type is declared in WinNT.h as follows:

typedef DWORD LCID;

LCTYPE

Locale information type. For a list, see LCTYPE Constants.

This type is declared in WinNls.h as follows:

typedef DWORD LCTYPE;

LGRPID

Language group identifier. For a list, see EnumLanguageGroupLocales.

This type is declared in WinNls.h as follows:

typedef DWORD LGRPID;

LONG

32-bit signed integer. The range is ?2147483648 through 2147483647 decimal.

This type is declared in WinNT.h as follows:

typedef long LONG;

LONGLONG

64-bit signed integer. The range is ?9223372036854775808 through 9223372036854775807 decimal.

This type is declared in WinNT.h as follows:

#if !defined(_M_IX86)
typedef __int64 LONGLONG;
#else
typedef double LONGLONG;
#endif

LONG_PTR

Signed long type for pointer precision. Use when casting a pointer to a long to perform pointer arithmetic.

This type is declared in BaseTsd.h as follows:

#if defined(_WIN64)
typedef __int64 LONG_PTR;
#else
typedef long LONG_PTR;
#endif

LONG32

32-bit signed integer. The range is ?2147483648 through 2147483647 decimal.

This type is declared in BaseTsd.h as follows:

typedef signed int LONG32;

LONG64

64-bit signed integer. The range is ?9223372036854775808 through 9223372036854775807 decimal.

This type is declared in BaseTsd.h as follows:

typedef __int64 LONG64;

LPARAM

Message parameter.

This type is declared in WinDef.h as follows:

typedef LONG_PTR LPARAM;

LPBOOL

Pointer to a BOOL.

This type is declared in WinDef.h as follows:

typedef BOOL far *LPBOOL;

LPBYTE

Pointer to a BYTE.

This type is declared in WinDef.h as follows:

typedef BYTE far *LPBYTE;

LPCOLORREF

Pointer to a COLORREF value.

This type is declared in WinDef.h as follows:

typedef DWORD *LPCOLORREF;

LPCSTR

Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

An LPCWSTR if UNICODE is defined, an LPCSTR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE
typedef LPCWSTR LPCTSTR;
#else
typedef LPCSTR LPCTSTR;
#endif

LPCVOID

Pointer to a constant of any type.

This type is declared in WinDef.h as follows:

typedef CONST void *LPCVOID;

LPCWSTR

Pointer to a constant null-terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef CONST WCHAR *LPCWSTR;

LPDWORD

Pointer to a DWORD.

This type is declared in WinDef.h as follows:

typedef DWORD *LPDWORD;

LPHANDLE

Pointer to a HANDLE.

This type is declared in WinDef.h as follows:

typedef HANDLE *LPHANDLE;

LPINT

Pointer to an INT.

This type is declared in WinDef.h as follows:

typedef int *LPINT;

LPLONG

Pointer to a LONG.

This type is declared in WinDef.h as follows:

typedef long *LPLONG;

LPSTR

Pointer to a null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef CHAR *LPSTR;

LPTSTR

An LPWSTR if UNICODE is defined, an LPSTR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE
typedef LPWSTR LPTSTR;
#else
typedef LPSTR LPTSTR;
#endif

LPVOID

Pointer to any type.

This type is declared in WinDef.h as follows:

typedef void *LPVOID;

LPWORD

Pointer to a WORD.

This type is declared in WinDef.h as follows:

typedef WORD *LPWORD;

LPWSTR

Pointer to a null-terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef WCHAR *LPWSTR;

LRESULT

Signed result of message processing.

This type is declared in WinDef.h as follows:

typedef LONG_PTR LRESULT;

PBOOL

Pointer to a BOOL.

This type is declared in WinDef.h as follows:

typedef BOOL *PBOOL;

PBOOLEAN

Pointer to a BOOL.

This type is declared in WinNT.h as follows:

typedef BOOLEAN *PBOOLEAN;

PBYTE

Pointer to a BYTE.

This type is declared in WinDef.h as follows:

typedef BYTE *PBYTE;

PCHAR

Pointer to a CHAR.

This type is declared in WinNT.h as follows:

typedef CHAR *PCHAR;

PCSTR

Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef CONST CHAR *PCSTR;

PCTSTR

A PCWSTR if UNICODE is defined, a PCSTR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE
typedef LPCWSTR PCTSTR;
#else
typedef LPCSTR PCTSTR;
#endif

PCWSTR

Pointer to a constant null-terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef CONST WCHAR *PCWSTR;

PDWORD

Pointer to a DWORD.

This type is declared in WinDef.h as follows:

typedef DWORD *PDWORD;

PDWORDLONG

Pointer to a DWORDLONG.

This type is declared in WinNT.h as follows:

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

Pointer to a DWORD_PTR.

This type is declared in BaseTsd.h as follows:

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

Pointer to a DWORD32.

This type is declared in BaseTsd.h as follows:

typedef DWORD32 *PDWORD32;

PDWORD64

Pointer to a DWORD64.

This type is declared in BaseTsd.h as follows:

typedef DWORD64 *PDWORD64;

PFLOAT

Pointer to a FLOAT.

This type is declared in WinDef.h as follows:

typedef FLOAT *PFLOAT;

PHALF_PTR

Pointer to a HALF_PTR.

This type is declared in Basetsd.h as follows:

#ifdef _WIN64
typedef HALF_PTR *PHALF_PTR;
#else
typedef HALF_PTR *PHALF_PTR;
#endif

PHANDLE

Pointer to a HANDLE.

This type is declared in WinNT.h as follows:

typedef HANDLE *PHANDLE;

PHKEY

Pointer to an HKEY.

This type is declared in WinDef.h as follows:

typedef HKEY *PHKEY;

PINT

Pointer to an INT.

This type is declared in WinDef.h as follows:

typedef int *PINT;

PINT_PTR

Pointer to an INT_PTR.

This type is declared in BaseTsd.h as follows:

typedef INT_PTR *PINT_PTR;

PINT32

Pointer to an INT32.

This type is declared in BaseTsd.h as follows:

typedef INT32 *PINT32;

PINT64

Pointer to an INT64.

This type is declared in BaseTsd.h as follows:

typedef INT64 *PINT64;

PLCID

Pointer to an LCID.

This type is declared in WinNT.h as follows:

typedef PDWORD PLCID;

PLONG

Pointer to a LONG.

This type is declared in WinNT.h as follows:

typedef LONG *PLONG;

PLONGLONG

Pointer to a LONGLONG.

This type is declared in WinNT.h as follows:

typedef LONGLONG *PLONGLONG;

PLONG_PTR

Pointer to a LONG_PTR.

This type is declared in BaseTsd.h as follows:

typedef LONG_PTR *PLONG_PTR;

PLONG32

Pointer to a LONG32.

This type is declared in BaseTsd.h as follows:

typedef LONG32 *PLONG32;

PLONG64

Pointer to a LONG64.

This type is declared in BaseTsd.h as follows:

typedef LONG64 *PLONG64;

POINTER_32

32-bit pointer. On a 32-bit system, this is a native pointer. On a 64-bit system, this is a truncated 64-bit pointer.

This type is declared in BaseTsd.h as follows:

#if defined(_WIN64)
#define POINTER_32 __ptr32
#else
#define POINTER_32
#endif

POINTER_64

64-bit pointer. On a 64-bit system, this is a native pointer. On a 32-bit system, this is a sign-extended 32-bit pointer.

Note that it is not safe to assume the state of the high pointer bit.

This type is declared in BaseTsd.h as follows:

#if (_MSC_VER >= 1300)
#define POINTER_64 __ptr64
#else
#define POINTER_64
#endif

POINTER_SIGNED

A signed pointer.

This type is declared in BaseTsd.h as follows:

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

An unsigned pointer.

This type is declared in BaseTsd.h as follows:

#define POINTER_UNSIGNED __uptr

PSHORT

Pointer to a SHORT.

This type is declared in WinNT.h as follows:

typedef SHORT *PSHORT;

PSIZE_T

Pointer to a SIZE_T.

This type is declared in BaseTsd.h as follows:

typedef SIZE_T *PSIZE_T;

PSSIZE_T

Pointer to a SSIZE_T.

This type is declared in BaseTsd.h as follows:

typedef SSIZE_T *PSSIZE_T;

PSTR

Pointer to a null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef CHAR *PSTR;

PTBYTE

Pointer to a TBYTE.

This type is declared in WinNT.h as follows:

typedef TBYTE *PTBYTE;

PTCHAR

Pointer to a TCHAR.

This type is declared in WinNT.h as follows:

typedef TCHAR *PTCHAR;

PTSTR

A PWSTR if UNICODE is defined, a PSTR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE
typedef LPWSTR PTSTR;
#else typedef LPSTR PTSTR;
#endif

PUCHAR

Pointer to a UCHAR.

This type is declared in WinDef.h as follows:

typedef UCHAR *PUCHAR;

PUHALF_PTR

Pointer to a UHALF_PTR.

This type is declared in Basetsd.h as follows:

#ifdef _WIN64
typedef UHALF_PTR *PUHALF_PTR;
#else
typedef UHALF_PTR *PUHALF_PTR;
#endif

PUINT

Pointer to a UINT.

This type is declared in WinDef.h as follows:

typedef UINT *PUINT;

PUINT_PTR

Pointer to a UINT_PTR.

This type is declared in BaseTsd.h as follows:

typedef UINT_PTR *PUINT_PTR;

PUINT32

Pointer to a UINT32.

This type is declared in BaseTsd.h as follows:

typedef UINT32 *PUINT32;

PUINT64

Pointer to a UINT64.

This type is declared in BaseTsd.h as follows:

typedef UINT64 *PUINT64;

PULONG

Pointer to a ULONG.

This type is declared in WinDef.h as follows:

typedef ULONG *PULONG;

PULONGLONG

Pointer to a ULONGLONG.

This type is declared in WinDef.h as follows:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

Pointer to a ULONG_PTR.

This type is declared in BaseTsd.h as follows:

typedef ULONG_PTR *PULONG_PTR;

PULONG32

Pointer to a ULONG32.

This type is declared in BaseTsd.h as follows:

typedef ULONG32 *PULONG32;

PULONG64

Pointer to a ULONG64.

This type is declared in BaseTsd.h as follows:

typedef ULONG64 *PULONG64;

PUSHORT

Pointer to a USHORT.

This type is declared in WinDef.h as follows:

typedef USHORT *PUSHORT;

PVOID

Pointer to any type.

This type is declared in WinNT.h as follows:

typedef void *PVOID;

PWCHAR

Pointer to a WCHAR.

This type is declared in WinNT.h as follows:

typedef WCHAR *PWCHAR;

PWORD

Pointer to a WORD.

This type is declared in WinDef.h as follows:

typedef WORD *PWORD;

PWSTR

Pointer to a null- terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef WCHAR *PWSTR;

SC_HANDLE

Handle to a service control manager database. For more information, see SCM Handles.

This type is declared in WinSvc.h as follows:

typedef HANDLE SC_HANDLE;

SC_LOCK

Lock to a service control manager database. For more information, see SCM Handles.

This type is declared in WinSvc.h as follows:

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

Handle to a service status value. For more information, see SCM Handles.

This type is declared in WinSvc.h as follows:

typedef HANDLE SERVICE_STATUS_HANDLE;

SHORT

A 16-bit integer. The range is ?32768 through 32767 decimal.

This type is declared in WinNT.h as follows:

typedef short SHORT;

SIZE_T

The maximum number of bytes to which a pointer can point. Use for a count that must span the full range of a pointer.

This type is declared in BaseTsd.h as follows:

typedef ULONG_PTR SIZE_T;

SSIZE_T

Signed SIZE_T.

This type is declared in BaseTsd.h as follows:

typedef LONG_PTR SSIZE_T;

TBYTE

A WCHAR if UNICODE is defined, a CHAR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE
typedef WCHAR TBYTE;
#else
typedef unsigned char TBYTE;
#endif

TCHAR

A WCHAR if UNICODE is defined, a CHAR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE
typedef WCHAR TCHAR;
#else
typedef char TCHAR;
#endif

UCHAR

Unsigned CHAR.

This type is declared in WinDef.h as follows:

typedef unsigned char UCHAR;

UHALF_PTR

Unsigned HALF_PTR. Use within a structure that contains a pointer and two small fields.

This type is declared in Basetsd.h as follows:

#ifdef _WIN64
typedef unsigned int UHALF_PTR;
#else
typedef unsigned short UHALF_PTR;
#endif

UINT

Unsigned INT. The range is 0 through 4294967295 decimal.

This type is declared in WinDef.h as follows:

typedef unsigned int UINT;

UINT_PTR

Unsigned INT_PTR.

This type is declared in BaseTsd.h as follows:

#if defined(_WIN64)
typedef unsigned __int64 UINT_PTR;
#else
typedef unsigned int UINT_PTR;
#endif

UINT32

Unsigned INT32. The range is 0 through 4294967295 decimal.

This type is declared in BaseTsd.h as follows:

typedef unsigned int UINT32;

UINT64

Unsigned INT64. The range is 0 through 18446744073709551615 decimal.

This type is declared in BaseTsd.h as follows:

typedef usigned __int 64 UINT64;

ULONG

Unsigned LONG. The range is 0 through 4294967295 decimal.

This type is declared in WinDef.h as follows:

typedef unsigned long ULONG;

ULONGLONG

64-bit unsigned integer. The range is 0 through 18446744073709551615 decimal.

This type is declared in WinNT.h as follows:

#if !defined(_M_IX86)
typedef unsigned __int64 ULONGLONG;
#else
typedef double ULONGLONG;
#endif

ULONG_PTR

Unsigned LONG_PTR.

This type is declared in BaseTsd.h as follows:

#if defined(_WIN64)
typedef unsigned __int64 ULONG_PTR;
#else
typedef unsigned long ULONG_PTR;
#endif

ULONG32

Unsigned LONG32. The range is 0 through 4294967295 decimal.

This type is declared in BaseTsd.h as follows:

typedef unsigned int ULONG32;

ULONG64

Unsigned LONG64. The range is 0 through 18446744073709551615 decimal.

This type is declared in BaseTsd.h as follows:

typedef unsigned __int64 ULONG64;

UNICODE_STRING

A Unicode string.

This type is declared in Winternl.h as follows:

typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING;
typedef UNICODE_STRING *PUNICODE_STRING;
typedef const UNICODE_STRING *PCUNICODE_STRING;

USHORT

Unsigned SHORT. The range is 0 through 65535 decimal.

This type is declared in WinDef.h as follows:

typedef unsigned short USHORT;

USN

Update sequence number (USN).

This type is declared in WinNT.h as follows:

typedef LONGLONG USN;

VOID

Any type.

This type is declared in WinNT.h as follows:

#define VOID void

WCHAR

16-bit Unicode character. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef wchar_t WCHAR;

WINAPI

Calling convention for system functions.

This type is declared in WinDef.h as follows:

#define WINAPI __stdcall

WORD

16-bit unsigned integer. The range is 0 through 65535 decimal.

This type is declared in WinDef.h as follows:

typedef unsigned short WORD;

WPARAM

Message parameter.

This type is declared in WinDef.h as follows:

typedef UINT_PTR WPARAM;

Send comments about this topic to Microsoft

Build date: 3/27/2008

 

즐프하세요.

'windows' 카테고리의 다른 글

자동실행 레지스트리 경로  (0) 2011.12.11
IMAGE_THUNK_DATA32  (0) 2010.05.24
PIMAGE_IMPORT_DESCRIPTOR  (0) 2010.05.24
WinNT.h  (0) 2010.05.24
GetModuleHandle과 LoadLibrary  (0) 2010.05.11
Posted by applicationlayer
:

PIMAGE_IMPORT_DESCRIPTOR

windows 2010. 5. 24. 11:34 |
typedef struct _IMAGE_IMPORT_DESCRIPTOR {
    union {
        DWORD   Characteristics;            // 0 for terminating null import descriptor
        DWORD   OriginalFirstThunk;         // RVA to original unbound IAT (PIMAGE_THUNK_DATA)
    };
    DWORD   TimeDateStamp;                  // 0 if not bound,
                                            // -1 if bound, and real date\time stamp
                                            //     in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT (new BIND)
                                            // O.W. date/time stamp of DLL bound to (Old BIND)

    DWORD   ForwarderChain;                 // -1 if no forwarders
    DWORD   Name;
    DWORD   FirstThunk;                     // RVA to IAT (if bound this IAT has actual addresses)
} IMAGE_IMPORT_DESCRIPTOR;
typedef IMAGE_IMPORT_DESCRIPTOR UNALIGNED *PIMAGE_IMPORT_DESCRIPTOR;

'windows' 카테고리의 다른 글

IMAGE_THUNK_DATA32  (0) 2010.05.24
Windows Data Types  (0) 2010.05.24
WinNT.h  (0) 2010.05.24
GetModuleHandle과 LoadLibrary  (0) 2010.05.11
Toolhelp32를 이용한 프로세스ID얻기  (0) 2009.10.02
Posted by applicationlayer
:

WinNT.h

windows 2010. 5. 24. 08:57 |
야호

'windows' 카테고리의 다른 글

Windows Data Types  (0) 2010.05.24
PIMAGE_IMPORT_DESCRIPTOR  (0) 2010.05.24
GetModuleHandle과 LoadLibrary  (0) 2010.05.11
Toolhelp32를 이용한 프로세스ID얻기  (0) 2009.10.02
context switch  (0) 2009.10.01
Posted by applicationlayer
:
모듈(Module)
함수들의 집합, 특정 일을 처리한다는 객체 개념으로 해설할 수도 있다. 윈도우 내에서는 구체적인 예로 DLL이나 EXE 파일이 있다.

HMODULE GetModuleHandle(LPCTSTR lpModuleName);

lpModuleName에 DLL이나 EXE 파일 이름을 넘겨주면 모듈에 대한 핸들(HMODULE)을 리턴한다고 되어 있지만 실제 리턴 값은 베이스 주소 값을 넘겨준다, 결국 GetModuleHandle은 DLL과 EXE의 베이스 주소를 리턴하는 함수이다.

HINSTANCE LoadLibrary(LPCTSTR lpLibFileName);

 테스트

#include <Windows.h>
#include <stdio.h>

void main()
{
    HMODULE hMod;
    hMod = GetModuleHandle(NULL);
    printf("%p",hMod);
}



같 은점 :
LoadLibrary도 GetModuleHandle과 같은 기능(모듈에 대한 핸들을 리턴한다)을 한다.
(HMODULE과 HINSTANCE의 차이점 참고)

차 이점 :
LoadLibrary의 경우 레퍼런스 카운트를 올리지만 GetModuleHandle의 경우 레퍼런스 카운트를 올리지 않는다. 
따라서 경우에 따라 원하는 모듈이 자신의 메모리에 올라와 있지 않으면 NULL을 반환할 수 있다.
단순히 값만 참조할 때면 GetModuleHandle을, 실제 지속적으로 사용하기 위해서는 LoadLibrary를 사용할 것이다.

'windows' 카테고리의 다른 글

PIMAGE_IMPORT_DESCRIPTOR  (0) 2010.05.24
WinNT.h  (0) 2010.05.24
Toolhelp32를 이용한 프로세스ID얻기  (0) 2009.10.02
context switch  (0) 2009.10.01
세그먼트 레지스터  (0) 2009.10.01
Posted by applicationlayer
:

실행중인 프로세스ID를 얻는 방법중 Toolhelp32를 이용한 방법과 PSAPI를 이용한 방법이 있다.
표준 API함수인 Toolhelp32를 이용하는 방법에 대하여 알아보기로 한다.
사용되는 함수는 다음과 같다.
CreateToolhelp32Snapshot(), Process32First(), Process32Next()


예제소스
#include <tlhelp32.h>

HANDLE hProcessSnap;
PROCESSENTRY32 pe32; //프로세스정보를 저장할 구조체
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
Process32First( hProcessSnap, &pe32 );
    printf( "\n  Process ID        = 0x%08X", pe32.th32ProcessID );
    printf( "\n  Thread count      = %d",   pe32.cntThreads );
    printf( "\n  Parent process ID = 0x%08X", pe32.th32ParentProcessID );
    printf( "\n  Priority base     = %d", pe32.pcPriClassBase );
while(Process32Next( hProcessSnap, &pe32 ))
{
    printf( "\n  Process ID        = 0x%08X", pe32.th32ProcessID );
    printf( "\n  Thread count      = %d",   pe32.cntThreads );
    printf( "\n  Parent process ID = 0x%08X", pe32.th32ParentProcessID );
    printf( "\n  Priority base     = %d", pe32.pcPriClassBase );
}



PROCESSENTRY32 구조 (tlhelp32.h)
 typedef struct tagPROCESSENTRY32
{
    DWORD   dwSize;
    DWORD   cntUsage;
    DWORD   th32ProcessID;          // this process
    DWORD   th32DefaultHeapID;
    DWORD   th32ModuleID;           // associated exe
    DWORD   cntThreads;
    DWORD   th32ParentProcessID;    // this process's parent process
    LONG    pcPriClassBase;         // Base priority of process's threads
    DWORD   dwFlags;
    CHAR    szExeFile[MAX_PATH];    // Path
} PROCESSENTRY32;

 

참조: http://support.microsoft.com/kb/175030/ko

'windows' 카테고리의 다른 글

PIMAGE_IMPORT_DESCRIPTOR  (0) 2010.05.24
WinNT.h  (0) 2010.05.24
GetModuleHandle과 LoadLibrary  (0) 2010.05.11
context switch  (0) 2009.10.01
세그먼트 레지스터  (0) 2009.10.01
Posted by applicationlayer
:

context switch

windows 2009. 10. 1. 22:56 |

Windows 유저모드(User Mode) 커널모드(Kernel Mode) 구분되어 프로세스가 실행된다. 커널 모드에서 동작하는 프로세스만이 컴퓨터에 장착된 모든 메모리와 하드웨어에 대한 직접적인 접근이 가능하며 디바이스 드라이버가 가장 대표적인 예라고 있다. 일반적인 윈도우 프로그램의 경우 유저모드 프로세스가 작동하는 것이므로 직접 하드웨어 장치나 메모리에 접근할 수는 없다. 하드웨어 장치나 메모리에 접근하기 위해서는 유저모드 프로그램은 시스템 서비스(API라고 이해바람) 호출하게 되고 운영체제는 TRAP 발생시켜 커널 모드로의 스위칭을 위한 스레드를 호출 하게 . 스레드에서 하드웨어 장치 또는 메모리에 접근하게 된다. 이를 context switch라고 .

'windows' 카테고리의 다른 글

PIMAGE_IMPORT_DESCRIPTOR  (0) 2010.05.24
WinNT.h  (0) 2010.05.24
GetModuleHandle과 LoadLibrary  (0) 2010.05.11
Toolhelp32를 이용한 프로세스ID얻기  (0) 2009.10.02
세그먼트 레지스터  (0) 2009.10.01
Posted by applicationlayer
:

세그먼트 레지스터

windows 2009. 10. 1. 22:48 |

과거 8086시대의 16bit시스템에서는 1MB의 물리메모리에 접근하기 위하여 세그먼트레지스터를 사용하였다. 16bit로 이루어진 세그먼트레지스터(CS,SS,DS,ES...)는 16bit의 범용레지스터와 함께 사용되어 원하는 메모리범위에 접근할 수 있었다.

80386시대(32bit)에 오면서 범용레지스터는 더이상 용량의 한계로 세그먼트레지스터의 도움을 받을 필요가 없었으나 여전히 세그먼트레지스터는 범용레지스터와 함께 주소표시방법에 사용된다. 다만 권한, 영역제한, 메모리보호등의 목적으로 사용될 뿐이다.

세그먼테이션
세그먼트레지스터와 사용자가 지정한 메모리를 조합하는 과정을 세그먼테이션이라고 한다.

CPU는 부트과정 초기에 메모리에 GDT(Global Discriptor Table)와 LDT(Local Discriptor Table)를 생성후 CPU의 GDTR(Global Discriptor Table Register)과 LDTR(Local Discriptor Table Register)에 해당 테이블의 주소를 저장한다.
디스크립터 테이블은 세그먼트 디스크립터의 목록이라고 볼 수 있으며,
세그먼트 디스크립터는 메모리에 대한 속성 권한 영역등의 정보를 가지고 있다.
세그먼트레지스터는 세그먼트디스크립터의 위치에 대한 정보를 가지고 있고
세그먼트레지스터와 메모리오프셋의 조합(세그먼테이션)과정으로 해당 메모리에 대한 보호가 이루어지게 된다.

 

세그먼트디스크립터

8byte의 세그먼트디스크립터는 여러가지 보호정보를 가지고 있으며
세그먼트레지스터는 세그먼트 디스크립터의 인덱스정보만을 저장하고 있을 뿐이다.


디스크립터 테이블
디스크립터 테이블은 세그먼트디스크립터의 목록이며 GDT와 LDT가 있다.
GDT란 모든프로그램이 참조할 수 있는 세그먼트 디스크립터의 모임이며 운영체제 제작시 반드시 만들어 주어야 하는 디스크립터 테이블이다.
LDT란 테스크 단위로 정의할 수 있는 테이블이며 윈도우NT의 일반적인 경우 이 LDT를 정의하지 않는다. 이 둘은 각각 CPU의 GDTR과 LDTR에 의해 지시된다.


세그먼트 셀렉터
보호모드에서의 세그먼트레지스터는 과거의 메모리확장 용도가 아닌 세그먼트디스크립터를 지시하는 용도로 사용되기 때문에 이를 세그먼트 셀렉터라 부르기도 한다.

 

 

 

'windows' 카테고리의 다른 글

PIMAGE_IMPORT_DESCRIPTOR  (0) 2010.05.24
WinNT.h  (0) 2010.05.24
GetModuleHandle과 LoadLibrary  (0) 2010.05.11
Toolhelp32를 이용한 프로세스ID얻기  (0) 2009.10.02
context switch  (0) 2009.10.01
Posted by applicationlayer
: