原创 SNMPv2協議The InformRequest-PDU

當管理器收到一個 InformRequest-PDU 會檢測 封裝好的一個Response-PDU信息(這個Response-PDU是右我們手動去封裝的,它的內容除了類型跟 InformRequest-PDU不同外 其他部分多相同)的大小

原创 將網絡地址(u_long)轉化爲點分十進制ip地址

wchar_t *buf =  new wchar_t(15);u_long a = 1955339436;BYTE *cp = (BYTE *)&a;(void) swprintf(buf, L"%u.%u.%u.%u", cp[0],

原创 ipv6 配置

1.XP 開始->運行->cmd進入命令提示符界面,然後可以運行以下命令進行ipv6的安裝和卸載。 ipv6 install                        安裝ipv6 ipv6 uninstall            

原创 函數指針強制類型轉換

// ccc.cpp : Defines the entry point for the console application. // #include "stdafx.h" struct fdes_entry {int (*fdes_

原创 空指針賦值分區

空指針賦值分區 爲什麼通過空指針讀寫的時候就會出現異常? 除了NULL表示空指針,是否還有其他的值也是空指針? 如果還有其他的值,你們這些表示空指針的值都是什麼?爲什麼? 首先解答第一個問題,在windows核心編程第四版的

原创 server

// server.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "Windows.h" #def

原创 dll 隱式加載 搜索路徑

E 可執行文件目錄 S 系統目錄(C:\Windows\System32) S16 16 位系統目錄(C:\Windows\System) C 當前目錄(注意,比如在 D:\ 下用 C:\Windows\Explorer.exe 這種形

原创 c++編譯器的/F選項 c++連接器的/STACK選項

我所認識的 我們平時說的棧其實指的就是線程棧   因爲我們的代碼多少在線程中運行的 又因爲線程棧是系統操作的 所以這也解釋了 核心編程第五版 爲什麼說 我們操作內存的三種方式 把棧給排除開來 指剩下 使用虛擬地址分配內存,內存映射文件,堆

原创 將long數據存到字符串中並格式化字符串數組

//將long數據存到字符串中並格式化字符串數組 PTSTR BigNumToString(LONG lNum, PTSTR szBuf, DWORD chBufSize) {    TCHAR szNum[100];    Strin

原创 點滴 -------dll

什麼是lib文件,lib和dll的關係如何 (2008-04-18 19:44:37)    (1)lib是編譯時需要的,dll是運行時需要的。 如果要完成源代碼的編譯,有lib就夠了。 如果也使動態連接的程序運行起來,有dll

原创 修改當前進程訪問權限代碼

BOOL fOk = FALSE;    // Assume function fails    HANDLE hToken;    // Try to open this process's access token //第二個參數指定

原创 Windows網絡編程

這裏抄兩個 定義的 TCP 和 IP 結構體   以後用到方便   IP數據報報頭有一個長度爲4位的首部長度,長度爲16位的總長度。 首部長度是指首部長度爲32比特的倍數(即4個字節的整數倍,或者說其單位爲4個字節)。 所以IP首部最長爲

原创 VirtualAlloc函數用法總結 預訂 調撥

VirtualAlloc函數原型爲 LPVOID VirtualAlloc( LPVOID lpAddress, // region to reserve or commit SIZE_T dwSize, // size of regio

原创 基址

基址 就是在邏輯地址的開始地址,,,想多了 有時候想不明白

原创 n個字符串比較 函數總結

int _strnicmp( const char *string1, const char *string2, size_t count ); int _wcsnicmp( const wchar_t *str