次の方法で共有


_getdcwd_dbg, _wgetdcwd_dbg

_getdcwd_wgetdcwd関数のバージョンをデバッグします (デバッグ中にのみ使用できます)。

構文

char *_getdcwd_dbg(
   int drive,
   char *buffer,
   int maxlen,
   int blockType,
   const char *filename,
   int linenumber
);
wchar_t *_wgetdcwd_dbg(
   int drive,
   wchar_t *buffer,
   int maxlen,
   int blockType,
   const char *filename,
   int linenumber
);

パラメーター

drive
ディスク ドライブの名前。

buffer
パスの格納場所。

maxlen
文字数でのパスの最大長。char の場合は _getdcwd_dbg、および wchar_t の場合は _wgetdcwd_dbg

blockType
要求するメモリ ブロックの種類。_CLIENT_BLOCK または _NORMAL_BLOCK

filename
割り当て操作を要求したソース ファイル名へのポインターまたは NULL

linenumber
割り当て操作が要求されたソース ファイル内の行番号または NULL

戻り値

bufferへのポインターを返します。 NULL戻り値はエラーを示し、errnoENOMEMに設定されます。これは、maxlen バイトを割り当てるメモリが不足していることを示します (NULL引数がbufferとして指定されている場合)、またはERANGEしてパスがmaxlen文字より長くなっていることを示します。 詳細については、「errno」、「_doserrno」、「_sys_errlist」、および「_sys_nerr」を参照してください。

解説

_getdcwd_dbg および _wgetdcwd_dbg 関数は _getdcwd および _wgetdcwd と同じものですが、_DEBUG が定義されている場合に、malloc パラメーターとして _malloc_dbg が渡されると、これらの関数はメモリを割り当てるために NULL および buffer のデバッグ バージョンを使用する点が異なります。 詳細については、_malloc_dbgを参照してください。

ほとんどの場合、これらの関数を明示的に呼び出す必要はありません。 代わりに、_CRTDBG_MAP_ALLOC フラグを定義できます。 _CRTDBG_MAP_ALLOC が定義されている場合、_getdcwd および _wgetdcwd の呼び出しはそれぞれ _getdcwd_dbg および _wgetdcwd_dbg にマップし直され、blockType_NORMAL_BLOCK に設定されます。 したがって、ヒープ ブロックを _CLIENT_BLOCKとしてマークしない限り、これらの関数を明示的に呼び出す必要はありません。 詳細については、デバッグ ヒープ上のメモリ ブロックの型に関する記事をご覧ください。

汎用テキスト ルーチンのマップ

Tchar.h のルーチン _UNICODE_MBCS が定義されていない _MBCS が定義されている _UNICODE が定義されている
_tgetdcwd_dbg _getdcwd_dbg _getdcwd_dbg _wgetdcwd_dbg

要件

ルーチンによって返される値 必須ヘッダー
_getdcwd_dbg <crtdbg.h>
_wgetdcwd_dbg <crtdbg.h>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

_getdcwd, _wgetdcwd
ディレクトリ コントロール
デバッグ バージョンのヒープ割り当て関数